Список самых распространенных ошибок сайта из-за которых не растут позиции и продажи. Виды и типы ошибок, откуда они появляются, что с ними делать, как их быстро найти самостоятельно, влияние на продвижение в Яндекс/Google и продажи.
Всем привет. Меня зовут Толстенко Александр. Я частный специалист по продвижению сайтов в Яндекс/Google.
Работаю в сфере создания и продвижения сайтов с 2009 года (уже более 13 лет).
Кейсы продвижения и другие статьи, подтверждающие экспертизу, можно посмотреть на сайте marketing-digital.ru или в профиле на vc.ru.
Переодически провожу бесплатные консультации (10-15 минут) и платные консультации.
Ошибка сайта: что это такое
Если попробуете загуглить информацию про ошибки сайта, в результатах поиска первые два результата будут ссылки на: справку Яндекса и определение Википедии. На обоих ресурсах, говорится про коды ответа серверов.
Код ответа сервера: что это такое, что означает
Немного теории, чтобы было понимание, что такое код ответа сервера и что они означают. Когда вы открываете какой-то url, ваш браузер отправляет HTTP-запрос на сервер, где лежит физически этот сайт. В ответ на HTTP-запрос, сервер отдаст код состояния HTTP (трехзначное число) и определенные параметры.
Данное число будет принадлежать одному из пяти классов состояний:
1** — информационные;
2** — ок, получили страницу;
3** — перенаправление (редирект);
4** — ошибка на стороне клиента (сервера, страница не существует);
5** — ошибки на стороне сервера (сервер не справляется с нагрузкой).
Распространенные ошибки web серверов
С полным списком ошибок сервера можно ознакомиться в официальной справке Яндекса или любом другом источнике. Ниже акцентирую внимание, только на самые важные при SEO продвижении. Расскажу, что поисковой робот делает при получении различных ответов сервера.
Коды 4xx (ошибка клиента): что значит
1) 404 Not Found — Страница не найдена (битые ссылки)
404 ошибка означает, что запрашиваемый документ, который ранее существовал, больше не существует по данному url.
Причин может быть много, от вмешательства программиста, до случайного или намеренного отключения/удаления в админке сайта ресурсов.
Удалять нужно осознанно, осторожно. В противном случае вы себе же в ногу стреляете, т.к. потеряете часть трафика, который давал заказы/продажи. Очень частая проблема у клиентов.Если такой страницы никогда не существовало, игнорируйте эту ошибку, возможно, кто-то поставил некорректную ссылку на ваш ресурс.
2) 403 Forbidden — Доступ к ресурсу запрещен
403 ошибка означает, что доступ к документу запрещен. Если вы хотите, чтобы страница индексировалась, необходимо разрешить доступ к ней.
Чаще всего встречается на проектах, где есть личный кабинет и часть информации доступна только после авторизации. Или нужно просто закрыть данный раздел от робота в .htaccess.
3) 410 Gone — Ресурс недоступен
401 ошибка означает, что данный документ был удален с сайта навсегда. Т.е. данный код ответа сервера говорит роботу, чтобы он забыл про данную ссылку и больше никогда не обращался по данному url.
Коды 3xx (перенаправление): что значит
1) 301 Moved Permanently — Ресурс перемещен навсегда (301 редирект)
301 ошибка означает, что документ перемещен навсегда и находится по-новому url. При попытке перейти по-старому, пользователя всегда будет перенаправлять на новый документ. Поисковой робот проиндексирует новую страницу, если она будет доступна для индексирования.
Страница по-старому url заменится в результатах поиска, на новый url и со временем, все накопленные показатели документа, передаются новой странице.
Если на сайте будет много 301-х редиректов, на большом проекте будет сильно снижаться скорость обхода страниц и скорость учета изменений на старых.
2) 302 Moved Temporarily — Ресурс временно перемещен
302 ошибка означает, что запрошенный ресурс временно находится по другому адресу. В результатах выдачи, будет находится url старого адреса. Т.е. при переходе по ссылке из результатов поиска, будет сделан 302 редирект на новый адрес на сайте.
До тех пор, пока не будет настроен 301 редирект со старого адреса на новый, накопленные метрики старого url не передаются по новому. Рекомендуется сразу делать 301 редирект на новый адрес для “склейки” накопленных метрик.
3) 304 Not Modified — Содержимое страницы не изменилось
304 ошибка означает, что если страница не изменилась с момента последнего обращения робота. Данный HTTP код ответа позволяет ускорить индексирование новых страниц и быстро учитывать внесенные изменения на старых.
Last-modified позволяет поисковому боту не тратить время на распаршивание html разметки, а сразу увидеть дату последнего изменения документа, сравнить ее с данными в базе. Если дата одна и та же, пропустить страницу и обратиться к следующей.
Настраивать и внедрять Last-modified заголовок, есть смысл на больших проектах, чтобы краулинговый бюджет не тратился не понятно на какие страницы.
Коды 5xx (ошибка сервера): что значит
1) 500 Internal Server Error — Внутренняя ошибка сервера
500 ошибка означает, что сервер столкнулся с непредвиденным условием, которое не позволяет ему выполнить запрос. Любая внутренняя ошибка сервера, которая не входит в рамки остальных ошибок класса.
2) 504 Gateway Timeout — время ожидания ответа сервера истекло
504 ошибка означает, что прокси-сервер не дождался ответа от вышестоящего сервера и завершил запрос.
Важность кодов ответа сервера
Описанные серверные web ошибки выше, очень сильно влияют на эффективность продвижения сайта в Яндекс/Google. Это база (как фундамент у дома), это то, с чего должно начинаться SEO продвижение, т.к. от этого будет сильно зависеть эффективность дальнейшего продвижения.
Если попробовать перефразировать простым языком: Ваш код ответа сервера, говорит поисковой машине, что делать с документом: поместить страницу в результаты выдачи или удалить ее оттуда.
Большое количество 4хх и 3хх ошибок замедлит учет изменений на сайте (будет впустую тратиться краулинговый бюджет). Если у вас большой портал — это будет критично.
🛑 Рекомендую, каждый раз после внесения программистами важных или масштабных изменений сканировать сайт Screaming Frog SEO на наличие технических ошибок. Практика показывает, очень часто вылезают различные баги или что-то отваливается. Так же, рекомендую проводить плановый технический аудит, т.к. периодически появляются неработающие ссылки и редиректы (большое количеств, негативно сказывается на продвижении).
Что делать, если сайт выдает ошибку
Если при открытии сайта, выдается 3хх или 4хх код ответа сервера — желательно не затягивать с их исправлением (если это не массовая техническая проблема, после внесения правок).
Если 5хх — бить тревогу, т.к. робот очень быстро начнет удалять страницы, дающие трафик из результатов поиска. За один день можно лишиться большей части трафика, который потом можно и не восстановить.
Другие ошибки веб сайта
Помимо серверных проблем, встречаются и другие. Они также сильно влияют на эффективность продвижения в Яндекс и Google.
1) Ошибки html верстки
Один не закрытый тег или не верно поставленная кавычка в head, может затруднить распознавание информации на странице сайта для робота, хотя в браузере все будет выглядеть нормально. Проверить ошибки верстки можно через сервис validator.w3.org или любой другой валидатор. Данные сервисы покажут конкретные проблемные места в верстке, которые нужно будет устранить.
2) Некорректная работа мобильной версии сайта
Частая проблема, когда на ПК сайт работает отлично, а проверяешь его с мобильного телефона, часть функционала не доступна (скрыта), отображается некорректно или мобильная версия и вовсе отсутствует.
3) Проблемы скорости загрузки сайта
Медленная загрузка сайта напрямую к техническим ошибкам не относится, хотя по рекомендациям поисковых систем, скорость загрузки ресурса должна быть не более 3-5 секунд, а в 2021 году Google включил метрику в факторы ранжирования.
На сколько это важный фактор ранжирования, спорный вопрос (рекомендую смотреть на средние значения конкурентов в ТОП 10, должно быть не хуже, чем у них), а вот с точки зрения повышения количества заказов, даже очень весомый фактор.
Проверить скорость загрузки ресурса можно в сервисе Google PageSpeed Insights (рекомендуется добиться зеленой зоны).
4) JavaScript-ошибки
Считается, что если сайт работает, значит проблем нет. Это не так, часто забывают про ошибки js, которые могут блокировать важную работу функционала и отключить возможность отправки заказов/заявок через сайт. Увидеть и исправить все ошибки Java Script можно, например через сервис Track.js.
5) Неверно прописаны правила сканирования в robots.txt
Проводя технические аудиты сайтов, часто встречаешь правила, которые случайно закрывают раздел или какие-то типы страниц от индексации для поисковых роботов.
6) Неправильно настроенный или отсутствующий тег canonical на дублирующих страницах
Чаще всего, тег не верно настраивают для страниц пагинации в интернет магазинах. Иногда встречаются магазины, у которых один и тот же товар, находится в разных категориях по разным url (полные дубли страниц), что мешающие СЕО-продвижению. Данную болезнь, частенько встречал у сайтов на 1с Битрикс.
7) Отсутствие или неправильное написание метатегов на страницах
h1, title, description — самые важные метатеги. Имея определенную структуру на сайте и сделав базовую оптимизацию с помощью применения масок этих тегов, можно увеличить видимости по продвигаемым ключевым запросам (пример: базовой оптимизации сайта и ее результаты)
Страницы дубли (каннибалы)
9) Ошибка сертификата ssl (HTTPS — защищенное соединение)
Поисковые системы учитывают безопасность соединения при упорядочивании результатов выдачи.
Если сайт использует незащищенную версию протокола (HTTP) — это будет минусом для посетителей (увидят уведомление на экране браузера) и негативно отразится на позициях в результатах выдачи.
Периодически бывает так, что на страницах появляется mixed content или просто отваливается HTTPS протокол по техническим причинам.
10) И другие web ошибки, которые мешающие продвижению
Поисковые роботы учитывают более 1000 факторов ранжирования. У каждого проекта свой набор ошибок, поэтому все нет смысла описывать в общем обзоре.
Как можно проверить сайт на ошибки самостоятельно
Самый быстрый и простой способ узнать, какие проблемные места на сайте без сканирования программой, привлечения опытного СЕО-специалиста или использования какого ни будь онлайн сервиса — заглянуть в панель Яндекс.Вебмастер, открыть отчет: Индексирование -> Страницы в поиске
Выбрать: Исключённые и увидеть все технические проблемы, которые видит робот Яндекса
Даже, не понимая ничего в SEO-продвижении, в пару кликов можно самостоятельно узнать, в каком техническом состоянии находится сайт и насколько качественно сделана оптимизация проекта под требования поисковых систем.
🛑 Найти и исправить все ошибки можно проведя детальный технический аудит. Ознакомиться с ошибками проекта одного из клиентов, данными рекомендациями и увидеть результаты после исправления, можно в статье технический аудита сайта.
Как проверить сайт на ошибки онлайн
Сейчас, существует много онлайн сервисов проверки. Какой-то конкретный, рекомендовать не буду, особенно платный.
Яндекс.Вебмастер + Google Search Console покажут практически все недостатки. Если их дополнить еще данными из Screaming Frog, разобрать все типы ошибок и написать рекомендации по исправлению — получится профессиональный SEO аудит.
Если, все же есть необходимость проверить сайт на ошибки в онлайн сервисе, погуглите. Их щас на любой вкус и цвет.
Что делать с найденными ошибками сайта
Если, вы уже занимаетесь продвижением и не первый месяц, задать вопрос: почему, большая часть ошибок сайта еще не устранена? Они должны были быть найдены в первые месяцы работ при проведении техаудита, и подготовлены рекомендации по их исправлению.
🛑 Если, оптимизацией никогда не занимались, если хватит опыта исправить существующие ошибки или заказать технический аудит с рекомендациями по исправлению у специалистов.Прежде чем заказать, рекомендую спросить посмотреть примеры сделанных аудитов. Если они будут +/- как этот пример аудита — не рекомендую заказывать. Конкретные рекомендации не получите, вопросов будет еще больше, чем ответов.
Почему, важно все исправить: что получит бизнес в результате исправления
Многие, недооценивают влияние технических ошибок на видимость сайта в результатах выдачи. Хотя, сделав даже одну базовую оптимизацию, можно получить рост позиций и заказов. Пример клиента 1, Пример клиента 2.
Наличие большого количества техошибок, говорит роботу, что сайт “не качественный”, а не качественные проекты никогда не будут лидерами ниши (если вы, конечно, никакой ни будь М.Видео, которому роботы много чего прощают).
Поэтому, рекомендуется исправлять технические проблемы на старте, в первые 2-3 месяца, периодически следить за появлением новых, параллельно продолжать работы по оптимизации текущих и новых страниц проекта. В будущем, это позволит кратно увеличить посещаемость, заказы и продажи.
На этом все, спасибо за внимание.
✌ Нужна консультация?
👉 Пишите в личные сообщения кодовое слово: «ОшибкиСайтаVc»
Уточню кое какие вопросы, определим дату, время созвона по видео связи расскажу какие проблемы продвижения есть у вас (бери исправляй и получай профит), узнаете на сколько можно вырасти в продажах, глянув трафик конкурентов.
Большинство пользователей интернета знакомы с ошибками, которые иногда возникают при работе с сайтом или поиске той или иной информации в поисковых системах. Если вы являетесь владельцем сайта, который вдруг начал выдавать подобные ошибки, вам важно понимать, что они означают, причину их возникновения и способ их устранения.
Часто на различных форумах в интернете можно увидеть обсуждения на тему устранения ошибок на сайте. Порой возникшие проблемы незначительны и могут быть решены пользователем самостоятельно, без обращения к специалистам.
Для того, чтобы знать, что делать в непредвиденной ситуации, стоит познакомиться с описанием самых распространенных ошибок, а также прочитать руководство по их устранению.
Типы ошибок
Ошибки протокола HTTP возникают в том случае, если веб-сервер по какой-то причине не может успешно отправить пользователю запрашиваемый документ. В этом случае сервер сообщит пользователю в HTTP-заголовке код возникшей ошибки.
Коды ошибок бывают положительными и отрицательными или успешными и не успешными.
Всего существует 4 типа кодов (хх — сочетание любых цифр):
- 2xx — запрос выполнен успешно;
- 3xx — запрос успешно перенаправлен (тоже положительный код);
- 4xx — ошибка — документ не был отправлен пользователю, так как произошла критическая ошибка. Класс кодов 4xx предназначен для указания ошибок со стороны клиента;
- 5xx — ошибка сервера — критическая ошибка на сервере. Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера.
Наибольший интерес для владельца сайта представляют коды, указывающие на ошибки со стороны клиента или сервера. Причины возникновения и способы устранения данных ошибок представлены ниже.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Ошибка 400
Bad Request
При переходе на сайт браузер может выдавать “400 Bad Request”. Это означает, что сервер обнаружил синтаксическую ошибку в запросе, который ввел пользователь. Однако подобная ошибка может появляться не только, когда вы вводите адрес сайта, но и, например, при входе в панель управления вашим сайтом. Причин возникновения может быть несколько:
- блокировка браузера антивирусом;
- блокировка брендмауэра Windows браузером;
- большое количество файлов cookies и данных в сache;
- перебои в работе интернета.
Для того, чтобы определить, какой из перечисленных вариантов относится к вашей ситуации, необходимо провести проверку каждого из них до полного устранения проблемы. Начнем с первой возможной причины.
Блокировка браузера
- Изучите настройки вашего антивируса в разделе под названием “Правила для приложений” или схожим с ним.
- Проверьте, есть ли ваш браузер в списке, и каков уровень доверия к нему.
- Повысьте уровень доверия к вашему браузеру, если он низкий.
- Сохраните новые настройки и попробуйте снова зайти в панель управления.
Если ошибка сохраняется, то переходите к проверке следующей причины.
Блокировка брендмауэра Windows
- Попробуйте отключить брендмауэр на время: меню Пуск — Панель управления — Система и безопасность — Брандмауэр Windows — Включение и отключение.
- Очистите кэш и куки.
- Обновите страницы с ошибкой.
- Если проблема устранена, то для завершения добавьте в брандмауэр разрешенные программы: Пуск — Панель управления — Система и безопасность — Брандмауэр — Разрешение запуска программы через брандмауэр.
Если проблема осталась — продолжайте проверку.
Cache и cookies
- Удалите cookies и очистите cache: нажмите Shift + Ctrl + Delete в то время, когда браузер открыт.
- Удалите ненужные файлы.
- Проверьте работу вашего браузера.
Перебои в работе интернета
- Свяжитесь со своим интернет-провайдером и узнайте, проводятся ли у них какие-то работы.
- Уточните, сколько времени займут работы.
Ошибка 403
Forbidden
Ошибка 403 означает, что сервер не может выполнить запрос из-за запрета на доступ к запрашиваемым файлам или страницам. Эта ошибка может возникать по ряду причин. Рассмотрим самые распространенные:
- Индексный файл index.html не загружен в директорию public_html вашего сайта или является некорректным. Для устранения этой ошибки создайте файл с именем index.html или переименуйте уже имеющийся файл. Возможные варианты для имени файла: index.html, index.htm или index.php.
- Для директории, в которой находится запрашиваемый файл, установлены такие права, что веб-сервер Apache не смог прочитать файл на диске сервера. Для устранения этой ошибки попробуйте изменить права доступа в разделе, отвечающем за настройку прав.
- Файлы сайта загружены в неправильную директорию. Для устранения этой ошибки проверьте, располагаются ли файлы сайта в директории site/public_html, где site — название вашего сайта.
Ошибка 404
Not Found
Ошибка 404 означает, что сервер не может найти данные по запросу пользователя.
Причины возникновения данной ошибки:
- Некорректный URL, введенный в адресное поле браузера. Для устранения данной ошибки проверьте, корректно ли указана ссылка.
- Файл, запрашиваемый по URL, отсутствует на сервере. Для устранения этой ошибки необходимо проверить наличие запрашиваемого файла в директории public_html вашего сайта.
Ошибка 500
Internal Server Error
Ошибка 500 означает, что на сервере есть внутренняя ошибка. Эта проблема может возникнуть по двум причинам:
- Невозможно запустить скрипт. Скорее всего, указаны неправильные права доступа на папки и файлы. Если на PHP файлы скриптов, размещенных на вашем хостинге, стоят права доступа 777, то исполнение данных скриптов может быть заблокировано сервером. Происходит это из-за того, что права доступа 777 позволяют всем производить любые изменения с данным файлом, что существенно влияет на безопасность и целостность вашего сайта. Для устранения этой ошибки следует проверить права доступа на папки и файлы сайта. Для папок рекомендовано установить права доступа 755, для исполняемых скриптов 600, а для всех остальных файлов 644.
- Неправильная инструкция в файле .htaccess или наличие в нём неподдерживаемых директив. Возможно, вы ошиблись в написании названия нужной директивы или параметров к ней. Данную ошибку можно устранить, включив лог ошибок error.log. Веб-сервер укажет вам, какую конкретно директиву он посчитал ошибочной — ее нужно будет исправить.
Ошибка 502
Bad Gateway
Данная ошибка — результат запроса, при котором был получен недопустимый ответ от сервера. Причин возникновения проблемы может быть несколько:
- Проблемы в работе прокси-сервера. Для устранения этой ошибки попробуйте набрать в адресной строке браузера ссылку на какой-либо другой сайт. Тем самым вы можете проверить, есть ли доступ в Интернет вообще. Если вы обнаружили, что доступ в Интернет есть, но ваше обращение к конкретному сайту все равно дает ошибку 502, попробуйте удалить файлы cookies в браузере.
- Нехватка ресурсов сервера. Это может означать, что нагрузка на сервер превышает ресурсы, доступные на выбранном тарифе хостинга. Уточните у своего хостинг-провайдера информацию о тарифах с большим объемом ресурсов и, в случае необходимости, увеличьте оперативную память или доступный объем диска.
Ошибка 503
Service Temporarily Unavailable
У каждого аккаунта на сервере хостинга есть определенное количество рабочих процессов, выделенное в соответствии с выбранным тарифным планом. Работа с запросами ведется в порядке очереди, они поступают на сервер, где легкие запросы обрабатываются мгновенно, а тяжелые – медленно. Всякая очередь ограничена тем или иным количеством запросов. Если новый запрос находится за пределами этой границы, принят он не будет, и вместо результата браузер выдаст оповещение “Сервис временно недоступен”.
Чтобы исправить данную ошибку нужно знать причины, по которым она может появляться:
1. Зависание скриптов при передаче больших статичных файлов через PHP. Скрипты работают определенное время, а не постоянно. При окончании времени работы скрипта прерывается передача файла, соответственно, файл не будет передан полностью, а также запрос оставит процесс веб-сервера работать еще длительное время. Устранить ошибку вы сможете посредством следующих шагов:
- Проверить все компоненты и плагины вашей CMS, отключая их по очереди, и найдите самые тяжёлые или испорченные, при работе которых загрузка сайта замедляется. По возможности откажитесь от таких компонентов или поищите более быстрый аналог.
- Проверить наличие у вас медленных запросов — в папке logs вашего аккаунта создается файл mysql-slow.log. Информация в этом файле обновляется раз в сутки и содержит только самые проблемные SQL-запросы.
- Если в PHP-скриптах используются Include-функции, загружающие части движка, расположенные на одном аккаунте, убедитесь, что в них используется локальный путь, а не URL вида «http://…». Наличие URL заставляет сервер делать дополнительный HTTP-запрос — это занимает лишнее время и сильно замедляет загрузку сайта.
2. Большое количество запросов к серверу. Причин возникновения таких запросов несколько:
- Загружаемый ресурс разбит/содержит ссылки на слишком больше число файлов (картинки, таблицы стилей JS-скрипты), которые подгружаются через отдельные запросы. В этом случае следует объединить ресурсы в один файл, где это возможно.
- DDoS-атаки, флуды, спамы в комментарии также могут вызывать большое количество запросов. В случае DDoS-атаки необходимо определить ее тип, и, согласно ее уровню, предпринять действия по устранению. Подробнее про DDoS-атаки вы можете прочитать в статье «DDoS-атаки: взгляд со стороны Timeweb».
Разбираемся в непонятных названиях и ищем способы устранить проблему.
Самые распространённые ошибки
Error 401 Unauthorized
Эта ошибка возникает из-за проблем с авторизацией. Чаще всего это можно исправить, заново войдя в свою учётную запись на главной странице сайта.
Если повторная авторизация не помогла, поищите проблему у себя. Но исключать неполадки сервера, на котором находится сайт, тоже нельзя, хотя они и маловероятны.
Error 403 Forbidden
Эта ошибка возникает, когда пользователь авторизовался на сайте, но по каким-то причинам не может получить доступ к некоторым страницам или файлам. Чаще всего это значит, что у него нет разрешения просматривать опубликованный контент. Также возможно, что страница просто закрыта для всех пользователей. Например, серверы Apache ограничивают доступ к каталогу файловой системы.
Error 404 Not Found
Одна из самых распространённых ошибок. Она означает, что сервер ничего не может найти по адресу, указанному в запросе. В этом случае либо вы неправильно вводите URL, либо вам попалась битая ссылка, которая ведёт на несуществующую страницу. Ещё есть вероятность того, что страницу переместили, а браузер обращается к серверу по старому адресу.
Обычно владельцы сайтов пытаются смягчить гнев пользователя, когда он видит эту ошибку. В Cети можно встретить множество примеров классно оформленных страниц с ошибкой 404.
1 / 0
2 / 0
3 / 0
4 / 0
5 / 0
6 / 0
Error 504 Gateway Timeout
Эта ошибка возникает, когда сервер не успевает ответить в течение заданного времени. Чаще всего такое происходит из-за большой нагрузки: запросы не успевают обрабатываться. Также это могут быть любые другие неполадки на стороне сервера. Всё, что вы можете сделать, — попробовать зайти на сайт снова через какое-то время.
Что делать, если браузер выдаёт ошибку
Если ошибка 504 говорит о проблемах на сервере, то ошибки класса 4хх чаще всего появляются по вине пользователя. Если вы авторизовались на сайте или вводите правильный URL, но страницы с ошибками продолжают открываться, попробуйте почистить кеш или cookie в браузере.
Удалить cookie
Cookie — это небольшие фрагменты данных. В них содержится различная информация, получаемая от веб-сервера, в том числе об авторизации пользователя на сайте.
Chrome
Для отдельных сайтов:
- Зайдите в «Настройки» → «Дополнительные».
- Выберите пункт «Настройки контента» → «Файлы cookie» → «Все файлы cookie и данные сайта».
Удалить все cookie:
- Зайдите в «Настройки» → «Дополнительные».
- Опуститесь вниз до пункта «Очистить историю».
- Выберите для очистки «Файлы cookie и другие данные сайтов».
Яндекс.Браузер
Для отдельных сайтов:
- Зайдите в «Настройки» → «Дополнительные».
- Выберите пункт «Настройки содержимого» → «Показать cookie и данные сайтов».
Удалить все cookie:
- Зайдите в «Настройки» → «Дополнительные».
- Выберите пункт «Очистить историю загрузки» → «Файлы cookie и другие данные сайтов».
Firefox
- Откройте «Настройки» → «Приватность и защита».
- Нажмите на «Показать куки».
- Выберите, что хотите сделать: удалить файлы отдельных сайтов или все cookie.
Opera
- Зайдите в «Настройки» → «Безопасность».
- Откройте «Все файлы cookie и данные сайтов».
- Выберите, что сделать: удалить файлы отдельных сайтов или все cookie.
Safari
- Зайдите в «Настройки» → «Конфиденциальность».
- Нажмите на «Управлять данными сайтов».
- Выберите, что сделать: удалить данные отдельных сайтов или очистить всё.
Очистить кеш браузера
Кеш содержит данные о посещаемых веб-страницах. Бывает, на сайте произошли какие-то изменения, а браузер продолжает обращаться к старым данным.
Chrome
- Зайдите в «Настройки» → «Дополнительные».
- Выберите пункт «Очистить историю», поставьте галочку напротив «Изображения и другие файлы, сохранённые в кэше» и нажмите на «Удалить данные».
Яндекс.Браузер
- Зайдите в «Настройки» → «Дополнительные».
- Выберите пункт «Очистить историю загрузки» → «Файлы, сохранённые в кэше».
Firefox
- Зайдите в «Настройки» → «Приватность и защита».
- Опуститесь вниз до пункта «Кэшированное веб-содержимое» и нажмите «Очистить сейчас».
Opera
Зайдите в «Настройки» → «Безопасность» → «Очистить историю посещений».
Safari
- Зайдите в «Настройки» → «Конфиденциальность».
- Нажмите на «Управлять данными сайтов».
- Выберите, что сделать: удалить данные отдельных сайтов или очистить всё.
Читайте также 🧐
- Что делать, если тормозит браузер
- Как исправить ошибку CPU Fan Error при загрузке компьютера
- Что такое ошибка 500 и как её исправить
- Что такое ошибка 502 и как её исправить
- Как исправить ошибку 503: исчерпывающее руководство
#статьи
-
0
Проблема на стороне пользователя или на стороне владельца сайта? Объясняем в статье.
Иллюстрация: Polina Vari для Skillbox Media
Контент подготовлен нейросетью, которая анализирует тысячи источников в режиме реального времени. Факты проверил редактор Skillbox Media.
Ошибка 404 — распространённая проблема, с которой пользователи сталкиваются при попытке получить доступ к веб-странице. Кроме того, это важный сигнал о неисправностях для владельцев сайтов и разработчиков. В статье разбираемся:
- что означает ошибка 404;
- почему она возникает;
- как последствия ошибки 404 проявляются на сайте;
- как исправить ошибку 404 со стороны пользователя;
- как исправить ошибку 404 со стороны владельца сайта;
- какие есть инструменты для отслеживания ошибки 404.
Ошибка 404, также известная как «Not Found» или «Не найдено», является стандартным HTTP-статусным кодом, который указывает на отсутствие запрашиваемого ресурса на сервере.
Ошибки 404 возникают в результате взаимодействия между клиентским устройством (например, веб-браузером) и сервером, когда клиент пытается получить доступ к странице, изображению, файлу или любому другому ресурсу. Если сервер не может найти запрашиваемый ресурс, он отправляет клиенту ответ со статусным кодом 404.
Ошибка 404 может возникать по нескольким причинам: неправильно введён URL, устарела или не работает ссылка на другом сайте, ресурс перемещён или удалён с сервера, во внутренней структуре или в серверной конфигурации сайта есть проблемы.
Для пользователей ошибка 404 означает, что запрашиваемая информация или страница временно или постоянно недоступна. Это может вызывать недовольство, особенно если пользователь ожидал найти важные сведения или материалы.
Для владельцев сайтов и разработчиков ошибка 404 является сигналом о неисправностях в системе. Она может указывать на проблемы в структуре и навигации сайта, ошибки в ссылках или отсутствие обработчиков ошибок. Исправлять ошибки 404 важно для улучшения пользовательского опыта, сохранения SEO-рейтинга и обеспечения правильной работы сайта.
В следующих разделах мы рассмотрим причины возникновения ошибки 404 подробнее и дадим рекомендации по её исправлению.
Ошибка 404 возникает, когда сервер не может найти запрашиваемый ресурс. Рассмотрим несколько распространённых причин её появления.
- Неверно введён URL. Это самая распространённая причина. Если пользователь случайно вводит неправильный адрес в адресной строке браузера, сервер не сможет найти соответствующую страницу и вернёт ошибку 404. Ошибки в адресе могут быть вызваны случайными опечатками, неправильным регистром или отсутствием необходимых символов.
- Ссылка ведёт на несуществующие страницы. Если ссылка ведёт на страницу, которая была перемещена или удалена, пользователь, кликнувший по ней, столкнётся с ошибкой 404.
- Ссылки на других сайтах устарели. Если другой сайт содержит ссылку на вашу страницу, но эта страница была удалена или перемещена, а ссылку на другом сайте не обновили, пользователь, перешедший по этой ссылке, получит ошибку 404.
- Ресурсы перемещены или удалены с сервера. Если владелец сайта переместил или удалил ресурс (например, страницу или файл), но не настроил перенаправление или обновление ссылок, клиенты, которые обращаются к этому ресурсу, получат ошибку 404.
- Есть проблемы с серверной конфигурацией. Ошибка 404 также может появляться, если сервер настроен неправильно или доступ к определённым файлам или директориям закрыт.
- Во внутренней структуре сайта есть ошибки. Например, если ссылка на страницу указывает путь неправильно, сервер не сможет найти соответствующий ресурс и вернёт ошибку 404.
Возникновение ошибки 404 может иметь негативные последствия как для пользовательского опыта, так и для поисковой оптимизации и репутации сайта. Вот несколько возможных последствий.
Вред для SEO. Если сайт содержит много неработающих ссылок, это может негативно сказаться на SEO. Разрушение внутренней и внешней ссылочной структуры приводит к потере органического трафика, ухудшению показателей SEO, затруднению навигации.
Потеря трафика и позиций в поисковых системах. Если на сайте много ошибок 404, это отражается на его позиции в поисковой выдаче. Поисковые системы принимают во внимание частоту ошибок 404 при определении качества сайта и его релевантности для пользователей. Если ошибок 404 при обращении к сайту много, сайт теряет позиции в результатах поиска.
Ухудшение репутации и уменьшение доверия. Ошибка 404 может создать впечатление непрофессионализма создателей сайта и его ненадёжности. Посетители могут начать сомневаться в качестве контента и услуг, предлагаемых на сайте, если регулярно сталкиваются с ошибками 404.
Потеря потенциальных клиентов или покупателей. Если ошибки 404 возникают на страницах с продуктами, услугами или контактами, это может привести к потере потенциальных клиентов или покупателей. Посетители начнут искать альтернативные варианты, если не смогут получить доступ к информации.
Важно принимать меры по предотвращению и исправлению ошибок, чтобы сайт функционировал эффективно.
Если вы сталкиваетесь с ошибкой 404 при посещении сайта, вы можете проверить, с вашей ли стороны проблема, и предпринять действия, чтобы её исправить. Вот несколько рекомендаций.
- Проверьте правильность написания URL. Убедитесь, что вы правильно ввели URL в адресной строке браузера. Проверьте, нет ли в нём опечаток, правильный ли использован регистр. Если есть сомнения, попробуйте переписать URL или воспользуйтесь поиском по сайту.
- Обновите страницу или повторите попытку позже. Иногда ошибка 404 может быть временной проблемой, связанной с недоступностью сервера или перегрузкой. Попробуйте обновить страницу или повторить запрос через некоторое время. Если ошибка сохраняется, перейдите к следующему шагу.
- Используйте поиск по сайту. Если на сайте есть функция поиска, воспользуйтесь ей. Это может помочь обнаружить страницу или контент, который вы ищете, даже если ссылка на него была изменена или удалена.
- Проверьте, нет ли другой ссылки на эту страницу, с помощью поискового запроса. Возможно, страница была перемещена или переименована, а запрос в поисковике приведёт вас к нужному ресурсу.
- Сообщите о проблеме владельцу сайта. Если вы уверены, что запрашиваемый ресурс должен существовать, а ошибка 404 сохраняется, свяжитесь с владельцем сайта или администратором и сообщите о проблеме. Они могут принять меры для исправления ссылки или восстановления удалённой страницы, предоставить другой путь к нужному контенту.
- Ищите альтернативные источники информации. Если вы не можете получить доступ к конкретной странице, поищите другие ресурсы по теме. Возможно, аналогичный контент доступен на других сайтах.
Несмотря на то что исправление ошибки 404 в основном зависит от владельца сайта, эти шаги могут помочь пользователю обойти проблему или найти альтернативные способы получить нужную информацию.
Если вы владелец сайта, на страницах которого возникает ошибка 404, вы можете предпринять несколько действий для исправления этой проблемы. Вот несколько рекомендаций:
- Проверьте, есть ли на вашем сервере запрашиваемый ресурс. Убедитесь, что файл или страница, на которую указывает ссылка, находится в нужном месте. Если ресурс был перемещён или удалён, возможно, его следует восстановить или предоставить пользователям альтернативу.
- Обновите ссылки и редиректы. Если вы переместили ресурс или изменили его URL, убедитесь, что все ссылки и редиректы на вашем сайте перенастроены. Обновление ссылок позволит пользователям получить доступ к нужному контенту без ошибок 404. Используйте редирект (например, 301 или 302), чтобы автоматически направлять пользователей на новый адрес.
- Создайте дизайн специальной страницы 404 с информацией и советами по навигации. На этой странице можно поместить сообщение о том, что запрошенный ресурс не найден, и предложить перейти к другим страницам сайта.
- Усовершенствуйте внутреннюю структуру сайта. Проанализируйте структуру вашего сайта и проверьте наличие сломанных или устаревших ссылок. Используйте инструменты для проверки ссылок и обновите нерабочие ссылки в меню, футере, виджетах и других разделах вашего сайта.
- Настройте поиск по сайту. Он поможет пользователям найти нужную информацию, даже если они столкнутся с ошибкой 404. Убедитесь, что поиск настроен правильно и охватывает все важные страницы. Это позволит пользователям искать нужную информацию непосредственно на вашем сайте.
- Мониторьте ошибки 404 и анализируйте их. Используйте инструменты аналитики для отслеживания и мониторинга ошибок 404 на вашем сайте. Это позволит вам получить информацию о том, какие страницы часто выдают ошибку 404, и исправить проблему. Анализ ошибок 404 позволит определить, что в структуре сайта и вашей ссылочной стратегии следует улучшить.
Исправление ошибки 404 со стороны владельца сайта требует некоторых усилий, но поможет улучшить пользовательский опыт и обеспечить более эффективную навигацию по вашему сайту.
Упростить отслеживание и управление ошибками 404 позволяют специальные инструменты. Вот несколько полезных инструментов со ссылками на их официальные сайты:
- Google Analytics. Популярный бесплатный инструмент от Google, который предоставляет подробные отчёты о посещаемости вашего сайта. Он также отслеживает ошибки 404 и предоставляет информацию о страницах, на которых возникли ошибки.
- Google Search Console. Бесплатный инструмент от Google, который позволяет отслеживать индексацию и видимость сайтов в поисковой выдаче Google. Он также предоставляет отчёты об ошибках 404 на сайте.
- Веб-мастер Яндекса. Инструмент от «Яндекса», предназначенный для анализа сайтов. Он предоставляет отчёты об ошибках 404, позволяет вам просмотреть страницы, вызывающие ошибки.
- Screaming Frog. Популярный платный инструмент для сканирования сайтов, который помогает обнаружить ошибки 404 и другие проблемы с сайтом. Он проводит аудит сайта и выдаёт подробные отчёты о неработающих ссылках, включая ссылки с ошибкой 404.
- Dead Link Checker. Онлайн-инструмент, который позволяет проверить ваш сайт на наличие неработающих ссылок. Вы можете указать URL вашего сайта, и Dead Link Checker составит отчёт о неработающих ссылках, включая ошибки 404.
- Ошибка 404 — это HTTP-код, который указывает на то, что запрашиваемый ресурс не найден на сервере. Ошибка 404 возникает, когда пользователь или поисковая система обращаются к несуществующей странице, удалённому контенту или недоступному файлу.
- Ошибка 404 может возникать по нескольким причинам: перемещение или удаление страницы или файла, неправильно введённый URL, некорректные ссылки на сайте, проблемы с сервером или недоступность ресурса из-за ошибок в программировании или конфигурации сервера. Ошибка 404 также может возникать при попытке перейти к защищённому контенту без соответствующих разрешений.
- Чтобы исправить ошибку 404, пользователю следует проверить правильность написания URL и обновить страницу или повторить попытку позже, а если это не сработало — воспользоваться функцией поиска на сайте для поиска нужной информации или ресурса.
- Для исправления ошибки 404 владельцу сайта следует проверить, есть ли нужный материал на сервере, обновить ссылки и редиректы, а также создать специальную информационную страницу для ошибки 404.
- Существуют специальные инструменты, предназначенные для отслеживания ошибок 404 на сайтах. Они позволяют провести сканирование страниц и предоставляют детальные отчёты о неработающих ссылках.
Как зарабатывать больше с помощью нейросетей?
Бесплатный вебинар: 15 экспертов, 7 топ-нейросетей. Научитесь использовать ИИ в своей работе и увеличьте доход.
Узнать больше
В этой статье я рассмотрю вопрос выявления и обработки ошибок, возникающих на фронтенде (браузер или web-view).
На фронтенде код JS выполняется в браузере. JavaScript не является компилируемым языком, поэтому всегда существует вероятность ошибки исполнения при непосредственном использовании программы. Ошибка исполнения блокирует код, расположенный после места ошибки, и пользователи программы рискуют остаться с нефункциональным экраном приложения, который можно будет лишь перезагрузить или закрыть. Но есть методы выявления ошибок и их безопасного сопровождения, позволяющие избежать таких ситуаций.
1. Средства языка JavaScript
Блоки try/catch
Функции, которые могут выполниться с ошибкой, оборачивают в блоки try/catch. Сначала программа пытается выполнить код в блоке try. Если по каким-то причинам выполнение кода сломалось, программа переходит в блок catch, где доступны три параметра:
- name — стандартизированное имя ошибки;
- message — сообщение о деталях ошибки;
- stack — текущий стек вызова, в котором произошла ошибка.
То есть:
try {
callFunc();
} catch (e) {
console.log(e.name) // ReferenceError
console.log(e.message) // callFunc is not defined
console.log(e.stack) // ReferenceError: callFunc is not defined at window.onload
}
Для разработчика главное то, что программа сможет продолжить выполнение после блока catch. Таким образом, взаимодействие с пользователем не прервется.
С помощью блока try/catch также можно вызывать собственные ошибки, например при проверке данных:
const user = {
name : «Mike»
};
try {
if (!user.age) throw new SyntaxError(«User age is absent!»);
} catch (e) {
console.log(e.name) // SyntaxError
console.log(e.message) // User age is absent!
console.log(e.stack) // SyntaxError: User age is absent! at window.onload
}
Наконец, можно расширить эту инструкцию еще одним блоком — finally, который выполняется всегда: и в случае, если в try не было ошибки, и в случае, если управление перешло в блок catch:
try {
callFunc();
} catch (e) {
console.log(e)
} finally {
...
}
Иногда используют инструкцию try/finally (без catch), чтобы была возможность продолжать использование кода без обработки конкретных ошибок.
Событие window.onerror
Часто бывает полезно знать, что скрипт на странице сломался, даже если программа сломалась и пользовательская сессия закончилась неудачно. Обычно эту информацию потом используют в системах логирования ошибок.
У глобального объекта window существует событие onerror (использовать его надо аккуратно: в разных браузерах реализация может отличаться!):
window.onerror = function(message, url, line, col, error) {
console.log(`${message}\n В ${line}:${col} на ${url}`);
};
Если разместить этот код в начале скрипта или подгрузить отдельным скриптом в первую очередь, то при любой ошибке ниже разработчику будет доступна подробная информация о ней.
Однако полная информация доступна только для скриптов, которые были загружены с того же домена. Если сломанный скрипт загружен с другого домена, window.onerror сработает, однако подробностей ошибки не будет.
Компоненты фреймворков
Некоторые JS-фреймворки (React, Vue) предлагают собственные решения по обработке ошибок. Например, React сможет отрисовать специальную верстку на месте блока, в котором произошла ошибка:
class ErrorBoundary extends React.Component {
constructor(props) {
super(props);
this.state = { hasError: false };
}
static getDerivedStateFromError(error) {
// Обновить состояние с тем, чтобы следующий рендер показал запасной UI.
return { hasError: true };
}
componentDidCatch(error, errorInfo) {
// Можно также сохранить информацию об ошибке в соответствующую службу журнала ошибок
logErrorToMyService(error, errorInfo);
}
render() {
if (this.state.hasError) {
// Можно отрендерить запасной UI произвольного вида
return <h1>Что-то пошло не так.</h1>;
}
return this.props.children;
}
}
<ErrorBoundary>
<MyWidget />
</ErrorBoundary>
Фактически, компонент React оборачивается специальным компонентом, который обрабатывает ошибки. Это напоминает оборачивание функций с помощью конструкции try/catch.
2. Средства сборки проекта
Современные JS-скрипты, как правило, делаются транспилируемыми. То есть разработка ведется с использованием последних стандартов ES. А затем код разработчика с помощью сборщика проектов (такого как Webpack) преобразуется в код, который будет гарантированно работать в выбранном числе браузеров.
На этапе сборки код проверяется на верность синтаксиса. Незакрытая скобка или неправильное обозначение поля класса немедленно вызовут ошибку при сборке, и бандл просто не соберется. Разработчику придется сразу исправить такие ошибки, чтобы работать дальше.
Также сборщик может подсказать, что какие-то куски кода не используются при выполнении программы. Возможно, это натолкнет разработчика на мысль о более глубоком изучении кода, что косвенно может повлиять на выявление им новых ошибок.
3. Тестирование
Еще один способ не допустить ошибок в коде – тестировать его. Во фронтенде есть инструменты для эффективного использования юнит-тестов. Обычно используют фреймворки, такие как Jest, Karma, Mocha, Jasmine. Вместе с тестовыми фреймворками часто используют расширения, такие как Enzyme, React Testing Library, Sinon и другие, позволяющие обогатить тесты с помощью мокирования, функций-шпионов и других инструментов.
При поиске ошибок тесты в первую очередь полезны нагрузкой разнообразными данными, которые могут привести к ошибкам исполнения. Так, следующий код пройдет валидацию синтаксиса и сработает ожидаемо:
const func = (data) => {
return JSON.parse(data)
}
func('{«a»:1}')
Однако он сломается, если подать ему неверное значение:
func() // Uncaught SyntaxError: Unexpected token u in JSON at position 0.
Этот код тоже проходит валидацию при сборке:
const obj = {
outer : {
last : 9
}
}
if (obj.outer.inner.last) {
console.log(«SUCCESS»)
}
Однако он также сломается во время исполнения. После тестирования разработчик наверняка сделает дополнительные проверки:
if (obj.outer?.inner?.last) {
console.log(«SUCCESS»)
}
Часто подобные ошибки возникают при получение данных от сервера (например AJAX-запросом) с их последующим разбором. Тестирование кода позволяет выявить и заранее устранить случаи, когда код может сломаться во время исполнения в браузере клиента.
4. Логирование
Допустим, мы предприняли все возможные меры по недопущению ошибок во время разработки и сборки проекта. Однако ошибки все-равно могут проникать в продуктивный код. Нам требуется как-то узнавать об их наличии и принимать скорые меры по исправлению. Просить пользователей открывать консоль браузера и делать скриншоты — не самый лучший вариант. Поэтому к проекту неплохо подключить логирование ошибок.
Смысл простой: на каждое событие window.onerror или в каждый переход исполнения кода в блок catch выполняется простой AJAX-запрос на специально выделенный адрес сервера, в тело которого кладется информация об ошибке. Далее потребуется инструмент, который быстро оповестит техподдержку и разработчиков о наличии новых ошибок и позволит эффективно работать с ними. Самый популярный из таких инструментов для фронтенда — Sentry.
Система логирования Sentry позволяет собирать, группировать, представлять ошибки в реальном времени. Есть сборки для разных языков, в том числе JavaScript. Проект предоставляет платный доступ с расширенными возможностями для бизнеса, однако можно попробовать его основные возможности на бесплатном тестовом аккаунте.
Подключать Sentry можно как непосредственно в HTML-файле, так и в компонентах, выполненных на одном из популярных фреймворков: React, Vue, Angular, Ember и других.
Для подключения возможностей логирования прямо в браузере в секции загружаем скрипт:
<script
src=«https://browser.sentry-cdn.com/5.13.0/bundle.min.js»
integrity=«sha384-ePH2Cp6F+/PJbfhDWeQuXujAbpil3zowccx6grtsxOals4qYqJzCjeIa7W2UqunJ»
crossorigin="anonymous"></script>
Далее в коде JS инициализируем:
Sentry.init({
dsn: 'https://<your account key here>@sentry.io/<your project id here>'
});
Всё. Если и когда в коде ниже этой строчки произойдет ошибка, Sentry выполнит ее логирование. Логи будут записаны даже тогда, когда ошибка произошла по вине скриптов с других доменов:
Sentry имеет широкие возможности по анализу массива сообщений об ошибках и настройке уведомлений. Также возможна группировка логов ошибок по релизам вашего продукта:
Sentry.init({
dsn: 'https://<your account key here>@sentry.io/<your project id here>',
release: '2020.03.06.1'
});
С помощью Sentry в статистику можно передать контекст ошибки, например, информацию о клиенте, fingerprint, уровень ошибки (fatal, error, warning, info, debug), проставить теги.
Есть возможность записывать в статистику пользовательские события. Например, можно поставить на отслеживание изменение размеров окна браузера или совершение AJAX-запроса. Также у Sentry есть собственный виджет с окном обратной связи, которое можно показать пользователю при ошибке. Это даст дополнительную информацию для расследования обстоятельств возникновения ошибки.
Для развертывания Sentry вместе с фреймворками достаточно просто установить пакет и подключить:
# Using yarn
yarn add @sentry/browser
# Using npm
npm install @sentry/browser
Делаем инициализацию в главном скрипте проекта (для React и Angular):
import * as Sentry from «@sentry/browser»;
Sentry.init({ dsn: 'https://<your account key here>@sentry.io/<your project id here>' });
Для Vue и Ember передаем еще одну обязательную строку конфигурации:
# Vue
Sentry.init({
dsn: '<your account key here>@sentry.io/<your project id here>',
integrations: [new Integrations.Vue({Vue, attachProps: true})],
});
# Ember
Sentry.init({
dsn: '<your account key here>@sentry.io/<your project id here>',
integrations: [new Integrations.Ember()]
});
Пакет integrations устанавливается отдельно:
# Using yarn
yarn add @sentry/integrations
# Using npm
npm install @sentry/integrations
Для предотвращения конфликтов и дублирования информации при подключении нескольких скриптов в одном проекте Sentry позволяет создавать отдельного клиента для каждой инициализации логирования:
import { BrowserClient } from «@sentry/browser»;
const client = new BrowserClient({
dsn: '<your account key here>@sentry.io/<your project id here>',
});
client.captureException(new Error('example'));
На сайте проекта есть подробная документация с примерами использования: https://docs.sentry.io.
Статья подготовлена при поддержке облачной платформы Mail.ru Cloud Solutions.
Что еще почитать по теме:
- Переиспользуемые компоненты React: как перестать писать одно и то же.
- Как избежать ошибок при разработке на React.
- Наш телеграм-канал с новостями о цифровой трансформации.