Как понять, почему ваши постоянные ссылки не работают в WordPress
Опубликовано: 2021-12-27Многие задачи сайта сосредоточены на поисковой оптимизации (SEO), так как это может повысить вашу видимость и рейтинг в поиске. Часть вашей стратегии SEO должна основываться на ваших структурах URL-адресов, хотя, если ваши постоянные ссылки не работают в WordPress, вам будет сложно снизить показатели трафика.
Несложно узнать, когда у вас неработающая постоянная ссылка, но не так просто понять, как это исправить. В большинстве случаев вам придется зайти в файлы конфигурации вашего сервера и внести некоторые изменения. Тем не менее, быстрый сброс из WordPress может быть всем, что вам нужно.
В следующих нескольких разделах мы покажем вам, что делать, если ваши постоянные ссылки не работают в WordPress. Во-первых, мы собираемся больше поговорить о неработающих постоянных ссылках и о том, как они выглядят.
Как выглядит битая постоянная ссылка в WordPress
Независимо от используемого вами сервера или его настройки, все неработающие постоянные ссылки выглядят одинаково. В большинстве случаев вы увидите, что ваша домашняя страница идеальна, в то время как на других страницах отображается ошибка 404:
В некоторых конкретных случаях — например, для законных URL-адресов, которые в противном случае не существуют на сайте — вы можете перенаправить ошибку 404 на свою домашнюю страницу. Тем не менее, во многих случаях это не постоянное решение, поскольку у вас часто будет основная проблема, которая остается незамеченной.
Более того, если ваши постоянные ссылки не работают в WordPress, вы не узнаете об этом, пока не просмотрите свой сайт. Возможно, вы впервые подозреваете о проблеме, когда пользователи отправляют вам уведомление. Это плохо ни для пользовательского опыта (UX), ни для вашей репутации.
Почему ваши постоянные ссылки не работают в WordPress
Слаги и постоянные ссылки в WordPress — это скорее аспект вашего сайта по принципу «установил и забыл». Хотя вы можете редактировать слаги для каждого поста, вы устанавливаете глобальные структуры постоянных ссылок после первоначального процесса установки WordPress. Рекомендуемая типичная практика — оставить их после этого, потому что это может повлиять на SEO.
Таким образом, неработающие постоянные ссылки в WordPress сложнее исправить, потому что вы не будете принимать непосредственное участие в их взломе. Вместо этого есть несколько других возможностей для изучения:
- Если вы установите новый плагин или измените настройки старого, вы можете косвенно изменить свои постоянные ссылки. Это особенно верно для тех плагинов, которые подключаются к файлам конфигурации вашего сервера.
- Хотя это небольшой шанс, некоторые обновления ядра, тем и плагинов сломают ваши постоянные ссылки. Это одна из причин, по которой вы захотите иметь чистую и текущую резервную копию (подробнее об этом позже).
- Говоря об этом, если вам нужно использовать резервную копию для восстановления вашего сайта, это также может нарушить структуру ваших постоянных ссылок. Это также относится и к переносу вашего сайта.
Тем не менее, есть одна причина, по которой ваши постоянные ссылки не работают в WordPress, которая встречается чаще: ручное редактирование файлов конфигурации вашего сервера. Если вы решите повозиться с этими файлами, это нанесет такой же ущерб, как и конфликтующий плагин.
Независимо от причины ошибки, вы захотите приступить к ее исправлению. Теперь, когда вы знаете причины, вы можете начать копать и выяснять, в чем заключается проблема.
Что вам нужно, чтобы исправить неработающие постоянные ссылки WordPress
Если вы еще не twiged, вам нужно будет перейти к основным файлам вашего сервера. Из-за этого хорошо получить все, что вам нужно, готовое к рок-н-роллу. Вот контрольный список элементов, которые вы должны иметь готовыми:
- Административный доступ к вашему серверу, для работы с его файлами. В большинстве случаев это не потребует вашего участия, особенно если вы являетесь владельцем сайта.
- Ваши учетные данные сервера, в частности данные для входа в систему. Вы найдете их в панели управления хостингом или в электронном письме от вашего провайдера. Если вы не можете найти учетные данные, ваш хост сможет сообщить вам, где они находятся.
- Клиент защищенного протокола передачи файлов (SFTP), например Cyberduck, FileZilla или Transmit. Каждый из них более чем способен к простому просмотру файлов на вашем сервере.
- Навыки использования SFTP без проблем. Само собой разумеется, что вы захотите узнать, как использовать SFTP на протяжении всего этого руководства.
- Чистая, актуальная и полная резервная копия вашего сайта и, возможно, сервера. Если вам нужно восстановить из-за постоянных (или появившихся) ошибок, ваша резервная копия станет самым ценным файлом, которым вы владеете.
Хотя есть дополнительные инструменты, такие как текстовый редактор, в них нет необходимости. Приведенный выше список будет всем, что вам нужно, чтобы исправить ваши постоянные ссылки, которые не работают в WordPress.
Как исправить постоянные ссылки, которые не работают в WordPress
Когда у вас есть все необходимые инструменты, навыки и услуги, вы можете приступать к работе. В течение следующих нескольких минут мы покажем вам, как исправить постоянные ссылки, которые не работают в WordPress, следующими способами:
- Мы сбросим постоянные ссылки с панели управления WordPress, и это займет несколько секунд.
- Вы проверите наличие несовместимости с вашими плагинами, которые могут повлиять на ваши постоянные ссылки.
- Для серверов Apache мы покажем вам, где искать решение проблемы с постоянными ссылками.
- Мы также покажем вам то же самое для серверов Nginx, поскольку они столь же (если не более) популярны.
К концу статьи у вас будут необходимые знания, чтобы убедиться, что вы сможете исправить любую проблему, связанную с постоянными ссылками, в будущем. Нам предстоит пройти через многое, поэтому мы начнем с самого WordPress.
1. Сбросьте ваши постоянные ссылки в WordPress
Есть надежда, что быстрый сброс ваших постоянных ссылок на панели инструментов WordPress решит любые ваши проблемы. Это займет несколько секунд, и, поскольку это простой способ решить проблему с постоянными ссылками, мы рекомендуем сделать это в первую очередь.
Для начала перейдите на страницу « Настройки» > «Постоянные ссылки » в WordPress:
Для большинства современных установок WordPress у вас будет структура постоянной ссылки Post name . Однако пока нам нужно изменить его на временной основе. Для этого отметьте любой другой переключатель. Если вы хотите быть очень осторожным в сохранении структуры URL-адреса независимо, вы можете выбрать Custom Structure и использовать тег /%postname%/
:
Затем сохраните изменения, повторно выберите исходную структуру (в данном случае название публикации ), затем снова сохраните изменения. Это должно вызвать сброс ваших постоянных ссылок, поэтому проверьте свой сайт и решите ли вы проблему.
2. Проверьте наличие конфликтов и несовместимостей плагинов
Следующий способ исправить ваши постоянные ссылки, которые не работают в WordPress, — это более простой способ исправить многие проблемы с WordPress. Ваши плагины (конечно) влияют на множество областей вашего сайта, настолько сильно, что мошеннический плагин может вызвать проблемы с вашими постоянными ссылками.
Стандартным подходом на этом этапе будет вход на ваш сервер через SFTP, но в данном случае нам это не нужно. Вместо этого перейдите на страницу Плагины > Установленные плагины в WordPress:
На этом экране установите все флажки для каждого плагина — вы можете использовать глобальный флажок вверху, чтобы сэкономить время — и выберите « Деактивировать » в раскрывающемся меню « Массовые действия »:
Это отключит все плагины, но также, надеюсь, устранит проблему с постоянными ссылками, которая влияет на ваш сайт.
Затем включите каждый плагин по очереди, пока не обнаружите, что ваши постоянные ссылки больше не работают. Как только вы нашли плагин, снова деактивируйте его и верните свой сайт в прежнее состояние, за исключением плагина-нарушителя.
На данный момент у вас есть несколько вариантов:
- Полностью удалите плагин, если он вам больше не нужен.
- Найдите альтернативу, начиная с каталога плагинов WordPress.
- Свяжитесь с разработчиком, чтобы сообщить ему об этом и попросить исправить ошибку.
В любом случае, вы захотите оставить плагин отключенным до тех пор, пока у вас не будет разрешения, так как вы не хотите, чтобы ваши постоянные ссылки оставались неработающими.
3. Настройте свой сервер Apache
Хотя сейчас они не так популярны, как раньше, серверы Apache по-прежнему являются надежным способом размещения вашего веб-сайта. Более того, они просты в управлении для обычного пользователя (что имеет свои недостатки, но это тема для другой статьи).
Таким образом, давайте рассмотрим несколько задач, которые вы можете выполнить, чтобы ваши постоянные ссылки WordPress снова заработали.
Работайте с файлом .htaccess , чтобы ваши постоянные ссылки снова работали
Подобно переключению различных структур постоянных ссылок в WordPress, вы также можете сбросить свой файл .htaccess . Для тех, кто не знает, это файл конфигурации, который помогает вашему серверу управлять своим содержимым. Вы можете отредактировать его с помощью новых инструкций, но в этом случае мы хотим отключить его (или, по крайней мере, не позволять серверу использовать его на временной основе).
Вы можете отредактировать файл .htaccess с новыми инструкциями, но в этом случае мы хотим отключить его (или, по крайней мере, не позволять серверу использовать его на временной основе).
Для этого вам нужно войти на свой сервер, используя учетные данные, которые вы получили ранее, и выбранный вами SFTP-клиент. Как только вы войдете, вам нужно будет перейти на нужный сайт. Если он единственный на вашем сервере, это не должно быть слишком сложно. Однако для более чем одного сайта ищите что-то с определенным именем.
Если вы не видите название своего сайта, возможно, это основная установка для вашего сервера. В этом случае ищите www , root , public_html или что-то подобное. Файлы вашего сайта будут там.
Как только вы окажетесь в нужном месте, найдите файл .htaccess . Он должен находиться в каталоге самого верхнего уровня:
Хотя вы можете создать резервную копию этого файла, он останется на вашем сервере, но под другим именем. Для этого щелкните файл правой кнопкой мыши и в контекстном меню найдите параметр « Переименовать » (или аналогичный):
Это заставит WordPress пропустить файл .htaccess , как если бы он не существовал. Отсюда вы захотите сбросить свои постоянные ссылки в соответствии с первым шагом в нашем руководстве. Это создаст новый файл .htaccess на вашем сервере, и в этот момент вы сможете проверить, не работают ли ваши постоянные ссылки.
Если они работают, что-то в вашем файле .htaccess будет причиной вашей ошибки постоянных ссылок. Возможно, вы захотите выполнить некоторую работу по вырезанию и вставке, чтобы найти, какие строки вызывают проблему, но, поскольку у вас есть новый готовый файл .htaccess , в этом может не быть необходимости.
Добавьте правило AllowOverride в конфигурацию Apache. Файл
Для этого следующего совета вам нужно будет находиться в корневой папке вашего сервера. Это самый высокий уровень, к которому вы можете получить доступ, и имейте в виду, что некоторые хосты могут не позволить вам сделать это. Таким образом, если вы используете общий сервер, это не вариант для вас. Однако те, кто управляет сервером или использует виртуальную частную сеть (VPN), могут выполнить следующие действия.
Вы узнаете, находитесь ли вы в нужном месте, потому что там будет папка etc. В то время как некоторые серверы будут иметь путь и файл etc/httpd/httpd.conf
, серверы Linux могут использовать etc/apache2/apache2.conf
:
Вы захотите добавить правило в файл apache2.conf , которое позволит вам переопределить определенные аспекты сервера для каждого каталога. Мы не собираемся вдаваться в подробности этого здесь, так как вам не нужно разбираться в тонкостях. Тем не менее, вы должны убедиться, что у вас есть резервная копия, прежде чем пытаться сделать это.
Вернитесь в свой SFTP-клиент, перейдите к файлу apache2.conf и откройте его в текстовом редакторе. Внутри найдите следующий набор кода:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
Вы захотите изменить AllowOverride None
на AllowOverride All
. Сохранив изменения, вы захотите проверить, работают ли ваши постоянные ссылки. Если нет, вам может потребоваться перезапустить сервер. Это расширенный метод, использующий доступ Secure Shell (SSH). Мы расскажем об этом в другой статье в блоге.
Когда вы находитесь на своем сервере, введите sudo systemctl restart apache2
, чтобы перезапустить его. Из-за сложностей разных хостов вам нужно поговорить с ними, если у вас возникнут какие-либо проблемы. Многие хосты имеют собственный способ доступа к вашему серверу, и вы захотите найти наиболее оптимальный подход.
4. Настройте свой сервер Nginx
Nginx — супер-гладкая гоночная машина по сравнению с жестяным Hot Rod от Apache. Таким образом, у него много поклонников и большая доля рынка по сравнению с конкурентами.
Недостатком здесь является то, что найти нужные файлы сложнее, чем на других типах серверов. Однако это все еще возможно, поэтому мы покажем вам, как исправить ваши постоянные ссылки, которые не работают на серверах Nginx.
Найдите свой файл конфигурации Nginx
Во-первых, вам нужно найти правильный файл конфигурации. Возможно, вам придется проконсультироваться с вашим хостом, чтобы узнать точное местоположение на вашем сервере здесь. Для нас файл находится в каталоге etc/nginx/site-enabled/
, но у вас он может отличаться.
Как только вы окажетесь внутри, найдите файл с именем default.conf или файл с именем вашего сайта — опять же, проконсультируйтесь с вашим хостом, если вам нужно. Файлы конфигурации Nginx используют блоки кода для определения различных правил, и вы будете знать, правильный ли файл, потому что будет блок, начинающийся с server {
.
Когда вы найдете этот блок, вы можете изменить его в зависимости от того, находится ли ваш сайт в корне или в подкаталоге.
Внесите изменения в файл конфигурации Nginx
Открыв файл default.conf и наведя курсор на блок server
, найдите другой блок с отступом, на этот раз для location /
. Внутри добавьте следующее:
try_files $uri $uri/ /index.php?$args;
Полный блок должен быть похож на следующий:
location / try_files $uri $uri/ /index.php?$args;
Это применимо только в том случае, если ваш сайт находится в корневом каталоге вашего сервера. Если ваш сайт находится в подкаталоге — может быть, это один из многих сайтов — вам нужно указать местоположение в этом подкаталоге:
location /subdirectort/ try_files $uri $uri/ /subdirectory/index.php?$args;
Когда вы сохраните изменения, перезапустите сервер с помощью sudo systemctl reload nginx
. Как и в случае с инструкциями Apache, у вас может не получиться это сделать, и в этом случае поговорите со своим хостом и попросите его помочь вам.
Подведение итогов
Ваши постоянные ссылки представляют собой удобочитаемый способ доступа к сообщениям и страницам на вашем веб-сайте. Если они пойдут не так, последствия могут поставить ваш сайт на колени. Довольно часто первое, что вы узнаете о том, что ваши постоянные ссылки не работают в WordPress, — это большое количество ошибок 404, которые получат ваши пользователи.
Чтобы исправить это, лучшим сценарием будет сброс ваших постоянных ссылок в WordPress. Хотя во многих других случаях вам придется открыть свой сервер и удалить (или иным образом изменить) файлы, чтобы все снова заработало. Этот пост должен предложить навыки и рабочие процессы, которые вам нужны, чтобы привести корабль в порядок и продолжить плавание.
Ваши постоянные ссылки не работают в WordPress — это то, с чем вы сталкивались раньше, или то, с чем вы сталкиваетесь прямо сейчас? Поделитесь своими ситуациями и любыми советами по исправлению положения в разделе комментариев ниже!