Проверка актуальности сайта
Журнал обновлений сайта никто не читает, а вот подвал, где до сих пор написано 2021, замечают все. Эта проверка собирает датированные детали на главной странице, взвешивает их и оценивает общее впечатление от A до F.
Посетители датируют сайт раньше, чем читают его
Представьте витрину магазина с плакатом о распродаже, которая закончилась прошлой весной. Магазин, может быть, открыт и работает отлично, но этот плакат заставляет задуматься. Сайт подаёт тот же сигнал через мелочи: год в подвале, дату последней новости или значок соцсети, которая давно закрылась.
Теряется доверие ко всему остальному на странице. Если последнему объявлению три года, верны ли часы работы? Актуален ли прайс? Отвечает ли кто-нибудь на форму обратной связи? Посетителю это никак не узнать, и многие уходят, вместо того чтобы спросить.
Сигналы и чего стоит каждый
Наш сервер загружает главную страницу, ленту RSS или Atom, которую она объявляет (или /feed/ на WordPress), и одну страницу, на которую ведёт ссылка с названием ровно «News», «Blog», «Press», «Newsroom» или «Articles». Каждая находка сдвигает счётчик:
| Находка | Баллы |
|---|---|
| Год копирайта отстаёт от календаря | −1 за один год, −2 за два или три, −3 начиная с четырёх. В январе и феврале прошлогодняя дата получает только напоминание. |
Последний признак активности (видимые даты, теги <time>, dateModified, лента, страница новостей) | +1 за последние 3 месяца, −1 до года, −2 до двух лет, −3 больше |
| Дата, прошедшая не меньше двух недель назад, рядом со словами вроде «скоро», «регистрация», «билеты» или «запомните дату» | −1, или −2, если таких несколько |
| Объявлена дата в будущем | +1 |
Flash-содержимое (.swf) | −2 |
| Объявление о COVID или локдауне; «в разработке» или «скоро открытие» | −1 за каждое |
| Ссылка на Google+, Vine, Myspace, StumbleUpon или Delicious | −1 |
jQuery старше 1.12; идентификатор Google Analytics UA- без идентификатора G-; версия WordPress трёхлетней давности или старше в теге generator | −1 за каждое |
Заголовок Last-Modified старше года | −1 |
Значок с птицей Twitter упоминается, но баллов не стоит. Год, который пишет скрипт (getFullYear() в исходном коде), считается текущим.
От баллов к букве
Штрафы складываются. Хорошие признаки могут отменить не больше одного балла, сколько бы их ни было, и итог никогда не поднимается выше нуля.
| Итог | Оценка |
|---|---|
| 0 | A |
| −1 | B |
| −2 или −3 | C |
| −4 или −5 | D |
| −6 и ниже | F |
Находки перечислены от самых вредных к наименее вредным. Те, что найдены в тексте, цитируют вызвавший их фрагмент, так что можно отличить настоящий пережиток от ложной тревоги. Если на странице почти не за что зацепиться, отчёт говорит об этом рядом с оценкой.
Исправления на несколько минут
- Год в подвале. Пусть страница вычисляет его сама. В PHP:
© <?= date('Y') ?>. В JavaScript:el.textContent = new Date().getFullYear(). Убрать год совсем тоже вполне допустимо. - Прошедшие события. Задайте каждому событию в CMS дату окончания, чтобы оно само уходило с главной, или переносите старые в архив.
- Молчащий блок новостей. Если вы публикуете дважды в год, уберите список «Последние новости» с главной и скройте даты в списке. Блог без видимых дат не стареет.
- Старые объявления. Удалите баннеры о пандемии и разделы «скоро», которые так и не наступили.
- Устаревшие сервисы. Удалите фрагмент
UA-: Universal Analytics перестал собирать данные в июле 2023 года. Удалите значки закрытых соцсетей. Обновите WordPress и старые библиотеки скриптов, что и так нужно делать ради безопасности.
Проверка читает не больше трёх адресов и не запускает скрипты, поэтому не видит содержимое, которое загружает JavaScript. Она узнаёт названия месяцев на ограниченном наборе языков, включая английский, а числовые даты только в виде 2025-03-12. Историческую дату вроде «основана 3 мая 1998 года» она может принять за дату публикации. Оценка описывает впечатление, которое производит страница, а не качество организации за ней.
Частые вопросы
Нужен ли год копирайта в подвале сайта?
Нет. В большинстве стран авторское право возникает в момент создания произведения, со знаком или без. Знак без года вполне годится, как и полное отсутствие знака. Если оставляете год, пусть он обновляется сам.
Как сделать, чтобы год копирайта обновлялся автоматически?
Выводите его на сервере (date('Y') в PHP, {{ "now"|date("Y") }} в Twig) или коротким скриптом, который пишет new Date().getFullYear() в подвал. В большинстве конструкторов сайтов и тем WordPress тоже есть подстановка «текущий год».
Вредит ли устаревший контент SEO?
Возраст сам по себе страницу не топит. Поисковики предпочитают свежие страницы только по запросам, где важна свежесть, например новости или цены. Косвенный эффект сильнее. Посетители, которые сомневаются в странице, быстро уходят и реже на неё ссылаются.
Как часто нужно обновлять сайт?
Обязательного ритма нет. Страница со стабильными фактами может годами стоять нетронутой. Важно, чтобы на ней ничего не обещало дату, которая уже прошла, поэтому несколько раз в год проходитесь по часам работы, ценам, именам сотрудников и объявлениям.
Почему проверка не видит статью, которую я опубликовал на прошлой неделе?
Она видит только даты, которые есть в HTML, отдаваемом сервером. Если ваши статьи загружает скрипт, на них нет даты, нет ленты RSS и они спрятаны за ссылкой, которая называется не «News» и не «Blog», проверке нечего читать.