Проходимо кожну адресу, а не вибірку
Прямі запити до кожної відомої адреси, без переходу за перенаправленнями, не більше шести одночасних запитів, щоб не турбувати сервер, і 23 колонки на адресу: код, канонічна адреса, заголовок, опис, hreflang, кількість блоків структурованих даних, обсяг видимого тексту. Результат — табличний файл, який ми передаємо. На цьому сайті: 249 адрес, з яких 244 відповідають 200 і 5 перенаправляють.
Офіційна адреса сторінки, розв’язана один раз для всього сайту
131 сторінка не декларувала жодної канонічної адреси, а 219 із 244 оголошували домашню сторінку як адресу для поширення — тож будь-яке поширення в мережах показувало іншу сторінку. Обидва випадки було виправлено по одному відносному оголошенню в базовому налаштуванні, яке розв’язується для кожного маршруту окремо. Це один рядок коду замість конвенції, яку кожна нова сторінка мала б самостійно пам’ятати.
Карта сайту, згенерована з даних, перевірена після публікації
Карта будується з джерел контенту і проходить фінальну дедуплікацію — на цьому сайті, 147 адрес, та сама цифра в коді й у файлі, який роздає продакшн. Скрипт, запущений після публікації, падає, якщо карта втрачає сторінку або якщо з’являються варіанти адреси, які не відкриваються. Чого бракує сьогодні, сказано як відсутність: записи не мають дати останньої модифікації, а 93 індексовані адреси ще не включено.
Старі адреси отримують кожна своє рішення
Під час реструктуризації кожна наявна адреса отримує вердикт: лишається, перенаправляється назавжди або зникає. На цьому сайті в конфігурації вийшло 43 перенаправлення. Окремо перевірено і те, що ніхто не тестує: перехід із домену без `www` на домен із `www` один; адреса з кінцевою рискою перенаправляє правильно; адреса, написана великими літерами, повертає 404, отже дубліката написання немає.
Заголовки, описи й тонкий контент, підраховані
100 заголовків із 244 перевищують 60 символів, найдовший — 106, ризик полягає в обрізанні в результатах. 33 описи перевищують 160 символів, але нуль відсутні. Серйозніше: 65 сторінок ділять один опис, згенерований із шаблону, а 30 із них відрізняються між собою всього на 240 байтів. Медіана видимого тексту: 2.328 символа, з 96 сторінками нижче 2.000. Це цифри, а не враження, і за кожною стоїть список адрес.
Власний аналізатор, з модулями та вагами, записаними в коді
Наш аналізатор має 16 модулів — на сторінці, продуктивність, карту сайту, безпеку, доступність, інфраструктуру імен, інформацію про реєстрацію домену, зовнішні посилання, соціальні мережі, технічний стек, позиції, дослідження ключових слів, загальний аудит — плюс модулі порівняння: пошук конкурентів, різниця ключових слів, різниця контенту, репери. Загальний бал явно зважений у коді: продуктивність 0,20, SEO 0,20, на сторінці 0,15, безпека 0,15, прямі відповіді 0,10, доступність 0,10, соціальні 0,10. Модулі, що не спрацьовують, не тягнуть бал униз — вони виходять із зважування, щоб упалий зовнішній сервіс не спричинив хибний звіт.
Перенаправлення, які не коштують цілої сторінки
Перенаправлення, зроблене зсередини застосунку, будує сторінку і лише потім надсилає відповідь із перенаправленням. На цьому сайті є 11 таких випадків, кожен створює понад 200 KB HTML, перш ніж сказати «перейдіть в інше місце». Працює, але це марнотратно; перенесення їх у конфігурацію — невелика робота з прямим ефектом на бюджет обходу. Це у списку виправлень, записано як нестача.
Що бачить crawler, перевірено crawler'ом, а не припущено
Ми запитали п’ять адрес із 18 різними ідентифікаторами агента та порівняли код, розмір і відбиток нормалізованого контенту. Усі отримують 200 і точно такий самий контент, як браузер; `robots.txt` ідентичний, 129 байтів, для всіх; немає блокування, challenge або обмеження для краулерів. Єдина відтворювана різниця — на 237 байтів менше на динамічній сторінці, для трьох агентів — походить від самого фреймворку, який надсилає їм повний HTML без потокової передачі, тобто більше вже відрендереного контенту, а не менше.
Що ми не обіцяємо, написано до контракту
Ми не обіцяємо позиції, відсотки зростання чи кількість візитів. У нас немає придатних до публікації вимірювань для такого, і ми не вигадуємо. Те, що ми постачаємо, можна перевірити інакше: список адрес зі станом кожної, виконані виправлення, перевірка, запущена після публікації, і вимірювана різниця між станом до та після — у байтах, кодах і кількості сторінок, а не в обіцянках.