Как правильно реализовать перенаправления страниц в WordPress
В WordPress редиректы можно создавать двумя способами:
- С помощью плагина – простой, но более медленный способ. Так как многие специализированные плагины используют функцию wp_redirect, которая может вызвать проблемы с производительностью.
- С помощью файла .htaccess – более мощный способ мощный. В этот файл можно добавить директивы для использования сжатия gzip. При его использовании перенаправление происходит быстрее, поскольку оно настраивается на уровне сервера.
Рассмотрим оба варианта более подробно.
1. Использование плагина
Есть несколько плагинов для организации перенаправлений в WordPress:
- Redirection – позволяет осуществлять перенаправления с помощью Core, htaccess и Nginx.
- Simple 301 Redirects – простой в использовании плагин.
- Safe Redirect Manager – с помощью этого плагина вы сможете выбрать, какой код перенаправления необходимо использовать. Он также позволяет перенаправлять только на ресурсы из белого списка для обеспечения дополнительной безопасности.
- Easy Redirect Manager – подходит для переадресации 301 и 302. Плагин поставляется с множеством различных опций.
Все эти плагины предоставляют вам интерфейс, в котором нужно ввести URL-адрес страницы, откуда нужно осуществить перенаправление и куда оно должно привести пользователя.
2. Использование файла .htaccess
Файл .htaccess располагается на сервере внутри папки WordPress. Вы можете получить доступ к нему, подключившись к серверу через FTP.
По умолчанию этот файл скрыт. Поэтому для доступа к нему активируйте отображение скрытых файлов в используемом FTP-клиенте.
Скачайте и сохраните .htaccess в безопасном месте, чтобы у вас была копия исходного файла. После этого можно редактировать существующий файл .htaccess.
Простое перенаправление с одной страницы сайта на другую можно настроить с помощью следующей директивы:
<IfModule mod_rewrite.c> RewriteEngine On Redirect 301 /old-blog-url/ /new-blog-url/ </IfModule>
Если блок <IfModule mod_rewrite.c></IfModule> уже существует, тогда добавьте в него приведенный ниже код:
Redirect 301 /old-blog-url/ /new-blog-url/
Просто добавьте необходимый код прямо перед закрывающей скобкой. Вы также можете использовать символы подстановки в создаваемых перенаправлениях. Например, приведенный ниже код можно использовать для перенаправления всех пользователей с www-версии сайта на версию без www.
RewriteCond %{HTTP_HOST} ^www.mydomain.com$ RewriteRule (.*) http://mydomain.com/$1
Сохраните измененный файл .htaccess и загрузите его на используемый сервер.
Метки
Несмотря на то что WordPress предоставляет достаточно гибкий интерфейс управления метками, вам могут пригодится следующие SQL запросы.
Получаем пустые метки
Спустя несколько лет ведения блога, могут появится пустые метки — метки в которых нет записей. В поздних версиях WP такие метки можно удалить, на странице настроек меток, отсортировав их по количеству записей, а в ранних версиях так отсортировать не получится и для такой операции вам в помощь такой SQL запрос, который получит все метки в которых нет ни одной записи:
SELECT * FROM wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.COUNT=0
Вместо можно написать любую другую таксономию, например категории.
Удаляем пустые метки
В предыдущем примере мы получали пустые метки, а теперь просто удалим их:
DELETE a,b,c FROM wp_terms a LEFT JOIN wp_term_taxonomy c ON a.term_id = c.term_id LEFT JOIN wp_term_relationships b ON b.term_taxonomy_id = c.term_taxonomy_id WHERE ( c.taxonomy = 'post_tag' AND c.count = 0 )
Ну, вы же понимаете, если изменить на , то будут удалены все метки с 0 и 1 записями в них.
Пинги и уведомления
Так же как комментариями, можно управлять пингами. Вот несколько примеров такого управления:
Закрываем возможность принимать пинги
Вели вы блог, вели и вдруг пошла нагрузка на сервер через пинги, которые, в общем, никакой практической пользы не несут и которые, очень даже, можно вообще закрыть и забыть о них. Чтобы закрыть все пинги используйте такой SQL запрос.
UPDATE wp_posts p SET p.ping_status = 'closed'
Удаляем все уведомления
Уведомления — это те же пинги — это такие «комментарии», которые оповещают вас о том, что Вася Пупкин сослался на вас. Если вы решили что такие горе-комментарии вам не нужны, их можно удалить оптом, используя такой SQL запрос:
DELETE FROM wp_comments WHERE comment_type = 'pingback';
После удаления пингов логично закрыть возможность получать пинги (см. предыдущий пример), также пинги нужно закрыть в настройках.
Типы редиректов
Существует два основных типа редиректов — постоянный (301) и временный (302, или иногда 307). Числа в скобках это коды, используемые в протоколе HTTP при перенаправлении.
Проверка редиректа в Google Chrome
Чтобы узнать, какой тип редиректа используется в конкретном случае, можно воспользоваться вкладкой Network/Сеть в панели для разработчиков браузера Chrome или Firefox, и просмотреть заголовки передаваемые веб-сервером.
Учтите, что постоянный редирект не означает, что его нельзя будет в будущем изменить. Постоянные редиректы запоминаются браузерами и поисковыми системами на более долгий срок, чем временные редиректы.
Когда обновлять URL-адреса веб-сайтов WordPress?
Здесь, в разработчике веб- сайтов Templatetoaster, давайте посмотрим на распространенные сценарии, которые приводят к необходимости обновления старых URL-адресов в базе данных.
- Перенести сайт WordPress на новый веб-сервер
- Перенос веб-сайта с одного домена на другой на одном веб-сервере
- Переход с HTTP на HTTPS
- Изменить каталоги WordPress на существующем сервере
При обновлении URL-адреса сайта мы должны знать, что есть дополнительные вещи, о которых нужно позаботиться, помимо простого изменения URL-адреса на странице настроек. Если у ваших изображений нет внешнего CDN, ссылки на старый URL будут встроены в сообщения. Эти ссылки будут отображаться неработающими всякий раз, когда кто-то просматривает страницу. Для небольших веб-сайтов и блогов можно просто заменить два или три URL-адреса вручную. Для крупных веб-сайтов и блогов с огромным количеством изображений невозможно изменить каждое из них. Вам нужно искать автоматизированный подход для массовой замены всех старых URL-адресов в базе данных.
Создание перенаправлений с помощью плагина
Разберем, как прописать 301 редиректы в WordPress с помощью плагина Redirection.
- Для начала находим и устанавливаем плагин.
- После активации плагина Redirection, переходим в панель управления «Настройки» — «Redirection».
- В Source URL прописываем старый адрес страницы, в Target URL – новый, на который будет происходить перенаправление.
- В Regular expression нужно поставить галочку и нажимаем Add Redirection.
Редирект 301 для данной страницы настроен.
Также тут существует возможность создать временный редирект 307. Его можно использовать, если вы временно изменяете url страницы, например, на время технических работ.
Выбирайте наиболее удобный для вас способ создания и настройки 301 редиректов в Вордпресс и делитесь своим опытом.
P.S. Смотрим новые акрофотки с Марсового поля:
Что такое взлом WordPress Redirect?
Взлом с переадресацией вредоносных программ WordPress – это распространенная форма атаки, при которой посетители зараженного веб-сайта автоматически перенаправляются на фишинговые или вредоносные веб-сайты.
Взлом WordPress Redirect может привести к серьезным разветвлениям, таким как:
- Это может подорвать имидж вашего бренда и репутацию компании.
- Взлом WordPress Redirect может означать огромную потерю трафика, очевидно, потому что ваши с трудом заработанные посетители перенаправляются.
- Меньший трафик, в свою очередь, может привести к снижению продаж. Следовательно, это влияет на бизнес.
- Веб-сайты, на которые перенаправляются ваши посетители, могут запускать незаконный продукт, что может привести к вашему веб-сайту и вам в судебную тяжбу.
Прочтите эту статью до конца, чтобы узнать, как удалить вредоносное ПО для WordPress и избавить свой сайт от этой неприятности.
Установка Multisite
Устанавливается MS не сложно — просто!
Перед запуском первой установки WordPress или после того, как вы уже установили WordPress — не важно. Откройте файл wp-config.php из основной папки WordPress и добавьте туда строчку:
define( 'WP_ALLOW_MULTISITE', true );
Добавить строку можно где-нибудь в начале файла, например, перед настройками подключения к БД.
После того как MU установка включена, нужно зайти в админ-панель и перейти в раздел Инструменты > Установка сети
Теперь надо выбрать какой тип сети устанавливать: поддомены или подкаталоги:
-
Поддомены — каждый сайт сети будет иметь свой домен — поддомен основного домена: site1.site.ru, site2.site.ru.
Для этого режима, нужно будет настроить сервер так, чтобы любой поддомен «смотрел» на папку куда установлен WordPress. Обычно это делается через обращение в службу поддержки вашего хостинг провайдера. Или можете попробовать, в панели управления хостингом, создать поддомен который начинается с * — *.site.ru. -
Подкаталоги — все сайты сети будут иметь один домен: основной, и будут расположены под ним: site.ru/site1, site.ru/site2.
Для работы этого режима нужно включить поддержку ЧПУ (красивых URL) в разделе: Настройки > Постоянные ссылки.
Какой режим выбрать, зависит от задач вашей сети сайтов. Чаще всего лучше выбирать режим поддоменов. С ними меньше проблем в дальнейшем — каждый сайт имеет свой личный домен, а значит нет потенциальных конфликтов URL, также в случае чего сайту можно купить отдельный домен. Режим подкаталогов хорошо подойдет, когда «мультисайт» используется, как единая сеть чего-то целого, например, для создания мультиязычного сайта.
После нажатия на кнопку «Установить», следуйте инструкциям, там все просто. В них WordPress попросит вас добавить несколько новых строк в файлы: wp-config.php и .htaccess.
На эту страницу всегда можно попасть по прямой ссылке вида:
Все, готово! Сеть установлена и вам нужно снова войти на сайт, но теперь как супер-администратор.
MU можно установить и на рабочий сайт и это можно делать смело, если в этом есть смысл разумеется. Но прежде, обязательно сделайте резервную копию базы данных и файлов — мало ли что там может пойти не так…
Далее, деактивируйте все плагины и включите ЧПУ на сайте, если они не включены. Для этого перейдите на страницу админки .
Далее, следуйте инструкциям, которые чуть выше.
functions.php?
Нет. Имя этого файла, кажется, упоминается в любой статье про WordPress. В нашем случае, с учетом того, что функционал регистрации рассчитан на несколько сайтов, имеет смысл вынести его в MU-плагины, которые загружаются при открытии любого сайта.
Лирическое отступление
Стоит отметить, что MU-плагины загружаются раньше обычных плагинов и до полной загрузки ядра WordPress, поэтому вызов некоторых функций может привести к фатальным ошибкам в PHP. Подобная «ранняя» загрузка имеет и свои плюсы. Скажем внутри любой темы нельзя цепляться к некоторым экшенам, которые срабатывают еще до загрузки файла functions.php из темы. Примером этого могут служить экшены из плагина Jetpack вида ( — название модуля) с помощью которых возможно отслеживать активность модулей в Jetpack. К этому экшену невозможно «прицепиться» из файла темы, потому что экшен уже сработал до загрузки темы — плагины загружаются раньше тем. Взглянуть на общую картинку порядка загрузки WordPress можно на странице Action Reference в кодексе.
Порядок в файлах
MU-плагины могут содержать любое количество файлов и любую стуктуру, которая покажется вам логичной. Я придерживаюсь примерно такой иерархии:
|-mu-plugins |-|-load.php |-|-|-selena-network |-|-|-|-signup |-|-|-|-|-plugin.php |-|-|-|-|-... |-|-|-|-jetpack |-|-|-|-|-plugin.php
В файле подключаются все необходимые «плагины» для нашей сети:
// Load Traslates for all addons load_muplugin_textdomain ('selena_network', '/selena-network/languages/'); // Network Signup require WPMU_PLUGIN_DIR . '/selena-network/signup/plugin.php'; // Another plugins // require WPMU_PLUGIN_DIR ...
Внутри папки selena-network хранятся папки плагинов, в каждой есть свой , которые мы и подключаем в . Это дает гибкость и возможность быстро отключать и включать некоторые вещи.
Стандартный .htaccess для WordPress
В большинстве случаев при установке WordPress на хостинг .htaccess создается в корневой директории сайта. Однако иногда этого не происходит и тогда нужно создать этот файл самостоятельно. Для этого выполните следующие действия:
- Подключитесь к хостингу по FTP, используя FileZilla или другой FTP-клиент, и перейдите в корневую директорию сайта.
- Кликните правой кнопкой мыши по правому окошку с файлами сайта и выберите «Создать новый файл».
- Введите .htaccess и нажмите OK.
Обратите внимание! Убедитесь, что ввели имя .htaccess (с точкой), а не htaccess (без точки). Другой способ создания файла .htaccess — через Консоль WordPress
Выберите в главном меню Настройки > Постоянные ссылки и, ничего не меняя на странице, нажмите кнопку «Сохранить изменения»
Другой способ создания файла .htaccess — через Консоль WordPress. Выберите в главном меню Настройки > Постоянные ссылки и, ничего не меняя на странице, нажмите кнопку «Сохранить изменения».
Стандартный .htaccess для WordPress выглядит следующим образом:
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php # END WordPress
По умолчанию в .htaccess WordPress-сайта указаны только правила для корректного отображения постоянных ссылок записей и страниц. Однако, это легко изменить, добавив в файл дополнительные правила, которые и будут описаны далее.
Последние мысли
Веб-мастерам часто может потребоваться изменить URL-адреса своих веб-сайтов WordPress. Процесс изменения старых URL-адресов в базе данных очень подробный и требует большого терпения, если выполняется вручную. В большинстве случаев простой поиск и замена работают для небольших веб-сайтов и блогов. Однако «сериализованные данные» внутри базы данных могут привести к серьезным проблемам. Для изменения URL-адресов изображений и сайтов предпочтительнее использовать инструмент или подключаемый модуль «сериализовать конфиденциальные данные» для поиска и замены. Все эти инструменты помогут при перемещении веб-сайта и замене одного URL-адреса другим. Однако если вы новичок и не уверены в процессе, то вам следует обратиться за помощью к специалисту. Вы не только избежите возможных проблем, но и сэкономите время и силы.
Источник записи: https://blog.templatetoaster.com
Настройка производительности WordPress-сайта в .htaccess
В файле .htaccess в WordPress также можно указывать правила, повышающие производительности сайта.
Включение кэширования
Кэш браузера — это временное хранилище файлов просматриваемых сайтов, расположенное на жестком диске пользователя. Если кэширование на сайте включено, при повторном посещении онлайн-ресурса файлы загружаются не из сервера, а с кэша. Это увеличивает скорость загрузки сайта и улучшает пользовательский опыт. Для включения кэширования на сайте добавьте в .htaccess следующий код:
<IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 month" ExpiresByType text/css "access plus 1 year" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType image/x-icon "access plus 1 week" ExpiresByType text/x-component "access plus 1 month" ExpiresByType text/html "access plus 0 seconds" ExpiresByType application/javascript "access plus 1 year" ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" ExpiresByType text/cache-manifest "access plus 0 seconds" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType video/webm "access plus 1 month" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/font-woff2 "access plus 1 month" ExpiresByType application/font-woff "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" </IfModule>
Включение gzip-сжатия
Для его включения добавьте в .htaccess следующий код:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0 no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule>
Контроль и установка ограничений на хотлинкинг изображений
Хотлинкинг изображений — это размещение на сайте изображений, которые хранятся не на сервере этого сайта. Реализуется этот прием вставкой следующего кода в код веб-страницы:
<img src="https://example.com/image.jpg">
Хотлинкинг изображений может негативно отразиться на производительности вашего сайта, особенно если сервер имеет низкую пропускную способность. Чтобы предотвратить хотлинкинг изображений добавьте в .htaccess следующий код:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com RewriteRule \.(jpg|jpeg|png|gif)$ -
Не забудьте заменить example.com на доменное имя вашего сайта.
Как видите, настройка .htaccess — это не такое уж и сложное дело, как могло казаться раньше. Внеся необходимые правила в этот файл, вы сумеете легко настроить редиректы, сделать сайт более безопасным и повысить его производительность без установки плагинов.
Redirect Manager
Redirect Manager — популярный плагин для перенаправления WordPress от Yoast SEO Premium. Он позволяет легко перенаправлять страницы на вашем сайте WordPress. После того, как вы активируете этот плагин, он будет предлагать вам перенаправить на другой URL-адрес всякий раз, когда вы удаляете страницу или пост со своего сайта.
Он полностью интегрирован с Google Search Console, что позволяет быстро и легко исправлять ошибки сканирования. Redirect Manager предлагает несколько типов модулей переадресации, в том числе:
- 301 постоянный
- 302
- 307 временный
- 410 удаленный контент
- 451 контент, недоступный по юридическим причинам
Их обширная документация поможет вам понять, какой тип перенаправления вам нужно выбрать при удалении страницы.
Цена: Поставляется как дополнение к плагину Yoast SEO Premium WordPress. Начальная стоимость составляет 89 долларов за сайт с 1 годом поддержки и обновлений.
Изменяем домен сайта с помощью WP-CLI
Утилита WP-CLI — универсальный инструмент среди множества возможностей которого есть и грамотный поиск с заменой любых строк внутри базы данных. Мы подразумеваем, что WP-CLI уже установлен на хостинге. Если это не так, можно попросить поддержку провайдера установить утилиту, или выполнить процедуру смены домена на своем локальном сервере.
Перед началом не забудьте сделать резервную копию базы данных на всякий случай.
Итак, чтобы изменить домен сайта, подключаемся по SSH к серверу и с помощью команды переходим в папку со своим сайтом.
ssh [email protected] -p 7777 # По умолчанию при подключении используется порт 22, # но на многих хостингах порт специально изменяют # на другой, например, в примере выше это порт 7777. # Вводим пароль ? cd /home/user666/old-domain.ru/public_html/ # Путь до сайта может быть другим
С помощью команды «попросим» WP-CLI заменить на .
wp search-replace 'old-domain.ru' 'new-domain.com'
Команда в таком виде заменит на лишь в таблицах, которые имеют отношение к текущей установке WordPress. После выполнения выведется таблица с небольшой статистикой.
Поиск и замена в WP-CLI
Используя дополнительные атрибуты, можно указать конкретные таблицы и колонки в таблицах, где необходимо производить замену. Будьте осторожны, если в одной базе данных расположены таблицы нескольких сайтов. Также в WP-CLI есть команда для обновления отдельных опций.
Замена URL и сериализованные данные
В большинстве случаев работает простой поиск и замена старых URL-адресов в базе данных. Однако в наши дни очень распространенной проблемой является наличие сериализованных данных в базах данных. Сериализованные данные – это массив данных PHP, зашифрованных с помощью фактического URL. Если вы выполните поиск и замену, чтобы изменить старые URL-адреса в базе данных, вы можете вызвать проблемы с сериализацией данных. Проблема в том, что URL-адрес изменен, и сериализованные данные больше не отображаются. В таких случаях вам необходимо использовать инструменты «сериализации конфиденциальных данных» для поиска и замены старых URL-адресов. Давайте посмотрим на некоторые из рекомендуемых доступных инструментов и подключаемых модулей, которые могут обрабатывать сериализованные данные и выполнять поиск и замену URL-адресов сайтов.
Инструмент Interconnectit
Это сценарий поиска и замены, разработанный компанией Interconnect. Это также применимо к другим популярным CMS, таким как Drupal и Joomla. Вы можете запустить скрипт, выполнив следующие действия:
- Сделайте резервную копию вашей базы данных.
- Загрузите скрипт в публичную директорию вашего хостинга (но не в корень сайта).
- Откройте загруженную папку на своем сервере из адресной строки браузера.
- Скрипт запускается автоматически. Затем вам нужно выбрать базу данных и ссылки, которые вы собираетесь заменить.
Комментарии
Частенько бывает нужно массово закрыть или открыть комментарии или сделать что-то еще с комментариями. Для таких манипуляций можно использовать следующие SQL запросы:
Удаление спам комментариев
Некоторые антиспам плагины, пропускают все комменты, но подозрительные помечают как спам, чтобы, если это не так, потом можно было одобрить комментарий. Например, так делает хваленный Akismet (никогда им не пользовался, он действительно так хорош?). Если спам комментов собралось большое множество, то чистить весь этот мусор руками никак не идет в сравнение с использованием такого простого SQL запроса:
DELETE FROM wp_comments WHERE comment_approved = 'spam'
Если нужно удалить все не одобренные комментарии, используйте:
DELETE FROM wp_comments WHERE comment_approved = 0
Удалим URL у всех комментариев
Чтобы очистить значения поля URL у всех комментариев, можно использовать такой запрос:
UPDATE wp_comments SET comment_author_url=''
Закрыть комментарии в рубрике
Если нужно закрыть комментарии только в какой-то одной рубрике, можно использовать такой SQL запрос, который разом закроет возможность комментирования для всех постов из рубрики, например, (альтернативное название рубрики, слаг):
UPDATE wp_posts p LEFT JOIN wp_term_relationships rel ON ( p.ID = rel.object_id ) LEFT JOIN wp_term_taxonomy tax ON ( tax.term_taxonomy_id = rel.term_taxonomy_id ) LEFT JOIN wp_terms tm ON ( tm.term_id = tax.term_id ) SET p.comment_status = 'closed' WHERE tm.slug = 'stat'
— рубрика в которой мы закрываем комментарии.
Закрыть комментирование в старых постах
Чтобы закрыть возможность оставлять комментарии для старых постов, допустим, опубликованных до 1 января 2010 года, можно использовать такой SQL запрос:
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2010-01-01' AND post_status = 'publish'
где, как вы догадались, — дата позднее которой комменты будут закрыты.
Удаление комментариев с плохими УРЛами
Можно удалить комментарии по маске, например, если в УРЛе комментатора встречается сочетание букв :
DELETE a,b FROM wp_comments a LEFT JOIN wp_commentmeta b ON ( a.comment_ID = b.comment_id ) WHERE a.comment_author_url LIKE '%poker%'
Изменение сайта комментатора
Теоретически УРЛ, который указывает комментатор в поле «сайт» можно изменить при редактировании комментария, но если комментариев этого комментатора много, то везде изменять УРЛ — занятие для обезьянок, проще запросом:
UPDATE wp_comments SET comment_author_url = 'http://example.com' WHERE comment_author = 'Kama' AND comment_author_email = '[email protected]'
Еще один вариант аналогичный предыдущему примеру. Заменит все совпадения на , в УРЛах всех комментаторов:
UPDATE wp_comments SET comment_author_url = REPLACE( comment_author_url, 'old-site.ru', 'new-site.ru' )
Меняем ID родительского комментария
Иногда пользователи некорректно постят древовидные комментарии — отвечая на коммент не используют кнопку «ответить» в итоге получается, что ответ теряется. Чтобы исправить эту ситуацию можно изменить ID родительского коментария, чтобы правильно расположить новый коммент в дереве:
UPDATE wp_comments SET comment_parent=21 WHERE comment_ID=97
21 — родительский комментарий, 97 — комментарий который нужно поправить.
E-mail’ы комментаторов
Чтобы собрать все мылы комментаторов, например, чтобы сделать какую-нибудь рассылку, можно использовать такой SQL запрос:
SELECT DISTINCT comment_author_email FROM wp_comments
Перенаправления и скорость загрузки страниц
Перенаправления – это дополнительный шаг в процессе загрузки веб-страницы. Поэтому редиректы замедляют работу сайта. Кроме этого перенаправления веб-страниц расходуют лимит сканирования поисковых систем.
Чтобы избежать этих проблем, следуйте следующим правилам:
- Избегайте цепочек перенаправлений – нескольких переходов со старой веб-страницы на новую. Особенно, когда перенаправляете с http на https и с www на домен без www. Это должно быть одним прямым перенаправлением (на https://domain.com).
- Не используйте перенаправления для ссылок – если неисправная ссылка появилась в меню или статье сайт, измените ее вручную.
- Попробуйте исправить внешние ссылки. Если ошибка связана с входящей ссылкой, попробуйте связаться с владельцем сайта-донора и попросите исправить ее.
Сведите количество перенаправления веб-страниц к необходимому минимуму. Чтобы определить страницы с несколькими перенаправлениями, воспользуйтесь сервисом Redirect Mapper.
Как перенести сайт с хостинга на хостинг
С помощью поддержки
Обычно проблема решается запросом в службу поддержки. Хостинги современных провайдеров переманивают клиентов на свои сервера, предоставив услугу бесплатного переноса. Бесплатный перенос предоставляется при оплате хостинга хотя бы на месяц.
На Beget нужно дать запрос в поддержку и отправить доступы от старого хостинга и FTP соединения, либо от панели администрирования.
Запрос в службу поддержки на перенос сайта
Если стандартная форма заявки на перенос сложная для заполнения, то создавайте простой тикет в поддержку.
При отсутствии услуги, в случае переноса на бесплатный аккаунт, нужно определиться как будет производится процесс:
- Ресурс переноситься на новый домен
- Адрес прежний, только на новом хостинге
- Копирование и загрузка баз данных
- Копирование и загрузка файлов WordPress
- Синхронизация DB и WP в wp-config
Подготовка и опасности
Выделил три опасности:
- Если вы новичок, то прошу не проделывайте процедуру
- Решили осуществлять перенос самостоятельно, то для начала отключите все плагины, особенно кэширования, которые активны в админке
- Процесс сложный, поэтому читайте подробно и делайте по шагам
Как оповестить поисковики о смене домена
Step 9. Когда техническая часть работы выполнена, давайте уведомим и поисковые системы о смене доменного имени. Думаю, достаточно это сделать в личном кабинете Яндекс.Вебмастер и в Google Search Console.
Зайдите в Яндекс.Вебмастер и зарегистрируйте новый домен. После этого, в Вебмастере откройте старый сайт и перейдите по ссылкам «Индексирование» -> «Переезд сайта». Далее, в выпадающем списке выберите новое доменное имя и кликните по кнопке «Сохранить».
В результате, вы должны увидеть такую запись: «В ближайшее время в результатах поиска вместо домена https://olddomain.ru появится https://newdomain.ru.». В следующий раз, когда вы зайдёте в этот раздел, то увидите такую картинку, как на фото ниже.
Результатом будет вот такая запись: «Выполняется перенос этого сайта».
Через 2-3 недели, когда все страницы сайта полностью переиндексируются, можно удалить сведения о старом веб-ресурсе из Яндекс.Вебмастер и в Google Search Console.
Шаг 2 — Перенаправления
Если вы перейдете на новую страницу входа, то она уже должна позволить вам успешно войти в систему. Теперь давайте немного наведем порядок.
PHP
// Login redirects
function custom_login() {
echo header(«Location: » . get_bloginfo( ‘url’ ) . «/login»);
}
add_action(‘login_head’, ‘custom_login’);
function login_link_url( $url ) {
$url = get_bloginfo( ‘url’ ) . «/login»;
return $url;
}
add_filter( ‘login_url’, ‘login_link_url’, 10, 2 );
1 |
// Login redirects functioncustom_login(){ echoheader(«Location: «.get_bloginfo(‘url’).»/login»); } add_action(‘login_head’,’custom_login’); functionlogin_link_url($url){ $url=get_bloginfo(‘url’).»/login»; return$url; } add_filter(‘login_url’,’login_link_url’,10,2); |
Как произвести массовую замену повторяющихся ссылок или текста?
Принцип замены ссылок в WordPress или повторяющихся отрезков текста и кода основывается на внесении изменений в SQL базу данных блога. Такую замену можно сделать непосредственно в phpMyAdmin – панели управления базой данных. Об этом инструменте для работы с БД я уже неоднократно писала в своих статьях, например в посте об установке вордпресс на денвер.
Для того чтобы зайти в панель управления базой данных на хостинге нужно найти соответствующий раздел в панели управления вашим хостингом.
В открывшемся окне вам необходимо ввести логин и пароль от базы данных, который вы указывали при ее создании.
Перед тем, как вносить какие-либо изменения в базу, обязательно сделайте ее бэкап – резервную копию.
Теперь рассмотрим пример, когда нам нужно изменить во всех статьях нашего блога старый почтовый адрес [email protected] на новый – [email protected].
Для этого на вкладке SQL прописываем следующий запрос:
UPDATE wp_posts SET post_content = REPLACE (post_content, ‘[email protected]’, ‘[email protected]’)
С поправкой на особенности синтаксиса для вашей версии сервера MySQL.
Данной командой в таблице wp_posts нашей базы данных в столбце post_content мы заменяем все встречающиеся названия старого адреса на новый. Все очень просто!
Если вы не смогли разобраться с базой данных вручную для вашего конкретного случая, можно прибегнуть к использованию плагина.
Далее мы рассмотрим несколько плагинов, которые сделают замену ссылок или текста автоматически.