Одним з найважливіших викликів SEO на даний момент є Індексування програм JavaScript пошуковими системами.
Оскільки Google оголосив про "індексацію" схеми Ajax-сканування (= заснована на фрагментах URL), було проведено багато експериментів для визначення фактичних можливостей індексації найважливішої пошукової системи.
Ось, наприклад, дуже цікаво Порівняння каркасів JavaScript :
Google регулярно стверджує, що інтерпретує JavaScript, але є деякі обмеження :
Більшість заявок не відповідають цим правилам, тому вони частково або не індексовані. Деякі використовують рішення для обхідного шляху, такі як prerender.io (див. Нижче).
Найкращим рішенням є надання візуалізації на стороні сервера.
TL; DR: ВИ ПОВИННІ ВИКОРИСТОВУВАТИСЯ ВИКОРИСТАННЯ СЕРВЕРА.
Ми представляємо тут ефективне рішення для Angular 4 додатків: Кутовий універсал .
Angular Universal раніше був Angular 2 надбудовою, і тепер він інтегрований в Angular 4 core. Це дозволяє генерувати на стороні сервера те, що програма повинна була робити на стороні клієнта. Після доставки в браузер, ця попередньо візуалізована версія буде знята з програми JS, і все, що відбудеться далі, буде виконане на стороні клієнта.
Він вимагає розгортання NodeJS на вашому сервері (але планується реалізація PHP і Python).
Примітка: Кутовий 4 не сильно відрізняється від Angular 2, він просто названий таким чином через семантичну версію. Якщо ви використовуєте Angular 2, вам слід перейти до Angular 4.
Як можна було очікувати, про практику можна багато чого пояснити, тому ми написали окрему статтю про неї: Як налаштувати Angular Universal .
Щоб перевірити Angular Universal здібності, ми сканували наш сайт з Screaming Frog SEO Spider . Оскільки ми хочемо перевірити, як сайт веде себе без JavaScript , ми вперше запустили інструмент з опцією "Тільки текст":
Це приблизно еквівалентно базовій команді curl :
curl https://your-url.com
на вашому сайті: він просто завантажує результуючий HTML і не запускає жодного JS або веб-рендеринга.
Час відгуку дуже хороший (HTML поставляється менш ніж за 500 мс). Перш за все, зверніть увагу, що засіб правильно збирає всі посилання на сторінки і сканує весь веб-сайт. Він збирає теги TITLE , H1 або META Description, і весь вміст HTML сумісний з тим, що було б у застосованій клієнтській програмі. Таким чином, стандартний текст сторінки та співвідношення слів можна обчислити так само, як якщо б це був звичайний веб-сайт.
Пошукові системи не матимуть проблем з індексацією нашого сайту.
У звичайній програмі JS одним з обхідних шляхів є надання файлу sitemap.xml, щоб переконатися, що пошукові системи індексують всі сторінки.
Він працює також з Angular Universal , але це не є обов'язковим, оскільки всі посилання виявляються на створених сторінках.
Другий тест дозволить JavaScript:
Як і очікувалося, сканування тепер набагато повільніше (оскільки інструмент намагається виконати весь код JS). Ми часто отримуємо тайм-аут, і посилання на сторінки не виконуються належним чином.
Здається, тег TITLE обробляється, але деякі частини сторінок ігноруються. Існують деякі помилки щодо індексації нашого веб-сайту.
Це ще молода технологія, вона погано документована. Відсутність документації може вплинути на проект.
Універсальний універсал вимагатиме створення сервера NodeJS. Звичайно, це може бути зроблено, але це все ще є додатковим обмеженням.
Ви можете ввімкнути Universal лише для роботів або для всіх відвідувачів.
Якщо ви використовуєте його для всіх відвідувачів, ви можете зіштовхнутись з дратівливими побічними ефектами, наприклад, деяким миганням, якщо щось спочатку запущено на сервері, а потім скасовано і повторно запущено на клієнті.
Модуль кутова / попередня підготовка розроблена таким чином, щоб уникнути цього. За допомогою цього модуля, після рендеринга сторінки prerender, клієнтська версія запускається у прихованій копії DOM. Тим часом всі користувацькі взаємодії записуються. Після завершення виконання перепрограмована версія та версія на стороні клієнта перемикаються, а взаємодії відтворюються.
Налаштування preboot не є легким і буде предметом майбутньої статті.
Інші основні структури мають еквівалентні рішення, і коли вони цього не роблять, ви все ще можете використовувати prerender.io ).
У будь-якому випадку, вам доведеться з обережністю з Redux, і переконайтеся, що він може надати дані на стороні сервера.
Vue.js пропонує кілька рішень для візуалізації на стороні сервера:
prerender-spa-plugin є плагін webpack. Це агностичний фреймворк і дозволяє відображати колекцію URL-адрес. Створення дуже швидко , і може бути інтегрований у ваш SPA. Отримані статичні файли просто повинні бути опубліковані вашим веб-сервером.
Prerender.io - це загальне рішення для створення статичної версії будь-якої програми JavaScript.
Це рішення SaaS, але компанія також надає свій інструмент як проект з відкритим кодом , так що ви можете встановити його на свій власний сервер.
В основному, це багатопотокове надання послуг PhantomJS екземпляри, які відповідають за візуалізацію сторінок.
Ми рекомендуємо запустити його за проксі Nginx (є "офіційна" конфігурація nginx і ми зробили мало адаптації ).
Ви встановили це? Чи є у вас відгук для обміну? Чи виникають проблеми? ЗВ'ЯЖІТЬСЯ З НАМИ якщо вам потрібна допомога, або замовити a SEO AUDIT !
Це дійсно працює?Copyleft © 2017 . www.info-center.od.ua Информационный центр - Всегда в центре событий