mysurik.ru

Поменял структуру ЧПУ в WordPress и пожалел: урок на полдня

Как настроить постоянные ссылки (Permalinks) в WordPress

Постоянные ссылки — это та тема, о которой я не задумывался, пока не поменял структуру ЧПУ на уже работающем сайте. И офигел от количества битых ссылок.

Сначала у меня были ссылки вида /?p=123. Поисковики индексировали, люди читали. Потом я решил сделать красиво — /%category%/%postname%/. Переключил в настройках, и тут началось.

Все старые ссылки перестали работать. Search Console заполнилась 404 ошибками. Пришлось через плагин Redirection делать редиректы с /?p=123 на красивые URL. Переписал штук 50 правил, потратил полдня.

Мораль: структуру ЧПУ выбирайте один раз в начале и не трогайте. Лучший вариант для блога — /%postname%/. Никаких категорий и дат в URL. Коротко, чисто, красиво.

Сейчас у меня /%postname%/ и все довольны. Если переезжаете на новую структуру — сначала настройте редиректы, потом меняйте. Я предупредил.

Больше статей про WordPress — от установки до продвижения — я собрал в сводном гайде.

Расскажу подробнее про этот урок, потому что он стоил мне полдня и кучи нервов. Постоянные ссылки — это та тема, о которой я не задумывался, пока не поменял структуру ЧПУ на уже работающем сайте. И офигел от количества битых ссылок. Позвольте мне провести вас через этот опыт, чтобы вы не наступили на те же грабли.

Сначала немного контекста. Мой сайт начинался как скромный блог, и на старте я не придавал значения URL. В настройках WordPress стояла структура по умолчанию — /?p=123. Выглядело некрасиво, но работало. Поисковики индексировали страницы, люди читали статьи, всё было в порядке. Я тогда не понимал, что URL — это не просто адрес, а часть интернета: на них ссылаются другие сайты, их запоминают, их кэшируют. Менять их бездумно — значит ломать всё, что накопилось.

И вот однажды я решил сделать красиво. Мне показалось, что ссылки вида /?p=123 выглядят непрофессионально. Я выбрал структуру /%category%/%postname%/ — вроде бы логично: категория и название статьи. Красиво, думал я. Переключил в настройках WordPress — и тут началось. Все старые ссылки перестали работать. Каждая запись, на которую раньше можно было попасть, теперь отдавала 404. Поисковики, которые уже проиндексировали старые адреса, начали спотыкаться. Search Console заполнилась сотнями ошибок 404. Мой красивый URL превратился в кошмар.

Первое, что я понял — редиректы. Старые ссылки не должны просто умереть, они должны вести на новые. Для этого нужны 301-редиректы — постоянные перенаправления. Поисковики любят их: они понимают, что страница переехала, и передают вес со старых адресов на новые. Без редиректов весь накопленный авторитет страниц просто испаряется. Я поставил плагин Redirection и начал переписывать правила. Сначала десяток, потом двадцать, потом пятьдесят. Каждое правило — это сопоставление старого URL с новым.

Полдня я провёл в этом занятии: вытаскивал старые ссылки, сопоставлял с новыми, проверял каждую. И это при том, что блог у меня небольшой. Представьте, каково владельцу сайта с тысячей записей. Я понял, что масштаб катастрофы напрямую зависит от размера сайта и времени его жизни. Мой сайт был маленьким — и то я потратил полдня. Чем дольше живёт сайт, тем дороже ошибка со сменой структуры URL. Поэтому менять её нужно только в самом крайнем случае.

Из этого опыта я вынес главную мораль: структуру ЧПУ выбирайте один раз в начале и не трогайте. Это как фундамент дома — его строят один раз и навсегда. Решите заранее, какими будут ваши URL, и оставьте как есть. Лучший вариант для блога — /%postname%/. Только название статьи. Никаких категорий и дат в URL. Почему? Коротко, чисто, красиво. URL вида site.com/kak-nastroit-nginx — это то, что можно запомнить, что хорошо выглядит в поиске и что легко читается.

Почему категории в URL — плохая идея? Во-первых, они делают ссылку длиннее. Во-вторых, если вы передвинете статью в другую категорию — ссылка сломается. В-третьих, категории в URL не дают почти никакого SEO-плюса, а хлопот добавляют. Даты в URL — та же история: они устаревают, и ссылка выглядит старой, даже если контент актуален. Я перепробовал и категории, и даты — и остановился на чистом /%postname%/. Сейчас у меня именно так, и все довольны.

Ещё один важный момент — как менять структуру, если это всё-таки необходимо. Правило простое: сначала настройте редиректы, потом меняйте. Сделайте 301-редиректы со всех старых URL на новые, проверьте их, и только потом переключайте структуру в настройках. И переключайте на маленькой площадке или тестовой копии, чтобы проверить всё заранее. Я сначала переключил, потом начал редиректы — получил кучу 404 за время между. Делайте наоборот, и будет меньше боли.

Какие ещё инструменты помогают. Плагин Redirection — мой любимый: он позволяет массово создавать правила, видеть ошибки 404, автоматически записывать битые ссылки. Есть ещё инструменты вроде Yoast SEO, которые умеют работать с редиректами. Главное — не забыть проверить, что редиректы работают: пройдитесь по старым ссылкам и убедитесь, что они ведут на новые адреса. Я проверял каждую вручную через браузер и через сервисы проверки статусов. Лучше потратить время на проверку, чем потом разгребать последствия.

Совет вдогонку: не забудьте обновить ссылки в контенте. Если в старых статьях есть ссылки на другие ваши статьи со старыми URL — они тоже перестанут работать. Я это выяснил не сразу. Решение — либо редиректы, либо замена ссылок в базе через поиск и замену. Плагин Better Search Replace сделает это быстро и аккуратно. Я использовал его, чтобы заменить старые адреса на новые во всём контенте разом. Это сэкономило мне ещё пару часов.

Подведу итог. Смена структуры ЧПУ на живом сайте — это урок, который я прошёл на собственных ошибках. Главное, что я вынес: выбирайте структуру один раз и не трогайте. /%postname%/ — оптимальный выбор для блога: короткий, чистый, удобный. Если менять всё-таки нужно — сначала редиректы, потом смена. Проверяйте всё, обновляйте ссылки в контенте, следите за Search Console. И помните: URL — это часть вашего сайта, которую любят стабильность. Я предупредил.

Добавлю ещё несколько деталей, которые пригодятся на практике. Первое — про то, как проверить текущие ссылки до смены. Я бы советовал выгрузить список всех записей и посмотреть, как выглядят их URL. Если на сайте есть тысячи записей — подумайте ещё раз. Каждая запись — это потенциальный битый URL после смены. Понять масштаб заранее — значит подготовиться к нему. Не прыгайте в смену структуры, пока не знаете, с чем придётся работать.

Второе — про XML-карту сайта. После смены структуры обязательно обновите sitemap. Старая карта со старыми URL никому не нужна. Я перегенерировал карту сайта через плагин и убедился, что в ней новые адреса. И не забудьте отправить новую карту в Search Console и Yandex Webmaster. Пока поисковики не узнают о новых адресах, они будут долго разбираться со старыми. Актуальная карта ускоряет переиндексацию в разы.

Третье — про кеширование. Кеш может хранить старые страницы и старые редиректы. После смены структуры я почистил весь кеш: кеш страниц, кеш плагина, кеш браузера. Иначе посетители будут получать странные ответы: то старую страницу, то редирект. Чистый кеш — это честная проверка того, что сайт действительно работает правильно. Не пропускайте этот шаг.

Четвёртое — про мониторинг после смены. Я неделю следил за Search Console: смотрел, какие URL перестали отдавать, какие редиректы работают, какие ошибки 404 появляются. Плагин Redirection тоже показал список битых ссылок. Эта картина помогла доделать то, что я пропустил. Следите за сайтом после изменений — большинство проблем всплывают не сразу, а в течение нескольких дней. Бдительность после смены — ваша страховка.

Пятое — про внутренние ссылки. Я уже упоминал, но повторю отдельно: внутренние ссылки между вашими статьями — это тоже часть проблемы. Если в одной статье есть ссылка на другую со старым URL, она сломается. Better Search Replace решил это автоматически, но я дополнительно проверил выборочно несколько статей. Проверяйте внутренние ссылки — они важны для пользователей и для SEO. Битые внутренние ссылки — это плохой сигнал.

И ещё одно наблюдение — про передачу веса. Редиректы 301 передают авторитет со старых URL на новые. Это значит, что позиции страниц могут не упасть, если сделать всё правильно. Но передача веса — не мгновенна, и поисковикам нужно время на переиндексацию. Не паникуйте, если позиции начнут прыгать в первые недели. Дайте системе время. Я пережил пару недель нестабильности, а потом всё выровнялось. Терпение — часть стратегии при смене URL.

Ещё пара практических советов напоследок. Первый — про новичков. Если вы только создаёте сайт — сразу ставьте /%postname%/. Это сэкономит вам кучу нервов в будущем. Сделайте правильно с первого дня, и вам не придётся разгребать последствия, как мне. Настройка занимает минуту, а экономит часы. Лучший момент выбрать правильные URL — это начало.

Второй — про старые ссылки из внешних источников. Если на ваш сайт ссылались другие ресурсы со старыми URL, эти ссылки сломаются. Вы не можете контролировать чужие сайты, но можете сделать редиректы, которые спасут их. Проверьте, откуда идут внешние ссылки на ваш сайт, в Search Console. Так вы узнаете, какие старые адреса важны. Редиректы на них сделайте в первую очередь.

И третий — про спокойствие. Если вы уже сменили структуру и увидели ошибки — не паникуйте. Всё решаемо: редиректы, обновление карты, чистка кеша, проверка. Я прошёл этот путь, и сайт выжил. Просто учтите мой опыт и не повторяйте моих ошибок. Выбирайте структуру один раз, делайте редиректы заранее, проверяйте после. Удачных вам URL!

И последнее: запомните главную формулу. Правильная структура URL для блога — одна. Короткие адреса без лишних элементов. Один раз настроили — и забыли. Всё остальное — это проблемы, которые можно было избежать. Будьте умнее меня: настраивайте правильно с самого начала. И тогда никакие 404 вас не напугают.

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *