Оптимизация All in One SEO Pack

Как оказалось,  — один из основных источников запросов к базе данных на блогах с большим количеством страниц (page). Всё дело в том, что в есть одна неотключаемая особенность: он пытается переписать все ссылки, которые выводятся через функцию wp_list_pages() (обычно эта функция вызывается из заголовка или подвала темы и используется для создания меню).

Вообще переписывание ссылок — это отдельная история, заслуживающая отдельной статьи. Если вкратце, то плагин берёт метаданные из поста и заменяет ими title и текст ссылки.

All in One SEO Pack: Edit Page

Что характерно, если поле Title Attribute пустое, то All in One SEO Pack вообще затрёт title ссылки.

Проблема с запросами возникает из-за того, что All in One SEO Pack читает метаданные для каждой страницы, присутствующей в результате, который вернула функция wp_list_pages(). Если в меню тридцать страниц, то в результате получим тридцать лишних запросов к базе данных. Умножаем на количество показов страниц (страниц в широком смысле, а не в терминах ) и получаем большую цифру. Далее »

Автор: , опубликовано в: Патчи, комментариев: 10
25
Ноя
2009

All in One SEO Pack 1.4.6.15: пустой экран при неверном запросе

Вчера вечером нашёл, а сегодня утром окончательно разобрался с одной очень интересной ошибкой плагина . проявляется в версии 1.4.6.15, но, возможно, более ранние версии тоже ей подвержены. Для проявления ошибки необходима определённая структура пермалинков: я столкнулся с ошибкой на такой структуре: /%category%/%postname%/. Тем не менее, структура — условие необходимое, но не достаточное: я не на всех сайтах смог воспроизвести ошибку. Возможно, причиной этому являются сторонние темы и/или плагины. Тем не менее, в причинах её возникновения я разобрался.

Проявляется ошибка следующим образом: при переходе на сайт по неверной ссылке (например, http://example.com/wpadmin) отображается пустая страница, а в логе ошибок присутствует примерно такое сообщение:

[-]
View Code Text
PHP Catchable fatal error:  Object of class WP_Error could not be converted to string in /wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php on line 950

Далее »

Автор: , опубликовано в: Патчи, комментариев: 14
18
Дек
2008