Внутренняя оптимизация для любого сайта это очень важно. Для вордпресс существуют множество плагинов помогающих правильно оптимизировать сайт. Я всегда пользовался для этого плагином HeadSpace2. А тут решил попробовать модный All in SEO Pack. И пришлось немного его доработать с напильником.
И у HeadSpace и All in SEO Pack есть возможность прописать к каждой статье свои заголовки. Ну и у обоих есть возможность прописать шаблоны заголовков страниц. У хедспейса правильная идеология в том что заголовок прописанный для конкретной страницы всегда заменяет шаблонный. А у All in SEO Pack даже если в статье вы прописали свой заголовок для это конкретной статьи, то всё равно потом это заголовок будет обработат шаблоном.
1. Чтобы понятнее вот пример:
Допустим у нас шаблон для страниц %page_title% на самом правильном блоге Azzrael.ru
Допустим обычный заголовок статьи «Создаем плагин для WordPress».
И HeadSpace2 и All in SEO обработает заголовок и выведет:
«Создаем плагин для WordPress на самом правильном блоге Azzrael.ru».
2. А теперь мы прописываем к этой статье в специальном для этого поле персональный заголовок.
Допустим написали “Статья о создании плагина для WordPress в блоге Azzrael”
HeadSpace так и выведет страницу с таким заголовком. А вот All in SEO Pack ещё и обработает шаблоном и получится “Статья о создании плагина для WordPress в блоге Azzrael на самом правильном блоге Azzrael.ru ” .
Фигня получается.
По моемому видению логика должна быть – если мы заголовок в ручную прописали то и шаблон применять не надо. Это легко исправить. ( Я исправил по быстрому, на оптимизацию двух строчек кода не заморачивался )
В файле aioseop.class.php ищем строчки:
[cc lang=”php”]$title = $this->internationalize(get_post_meta($post->ID, “_aioseop_title”, true));
if (!$title) {
$title = $this->internationalize(get_post_meta($post->ID, “title_tag”, true));[/cc]
Заменяем на :
[cc lang=”php”]$isaioseoptitle_azzrael = true;
$title = $this->internationalize(get_post_meta($post->ID, “_aioseop_title”, true));
if (!$title) {
$isaioseoptitle_azzrael = false;
$title = $this->internationalize(get_post_meta($post->ID, “title_tag”, true));[/cc]
Ищем:
[cc lang=”php”]$title = trim(str_replace($r_title, $d_title, $title_format));[/cc]
Заменяем на:
[cc lang=”php”]$title = ($isaioseoptitle_azzrael) ? $title : trim(str_replace($r_title, $d_title, $title_format));[/cc]
Или что то типа того. Я всё работает как надо!
30 мая 2011 |
Раздел: Программирование |
Метки: плагин, wordpress, SEO
Единственное что плохо – или плагин потом не обновлять, или лазать в него после каждого обновления и снова править код придётся.
Да, обновление затрет все изменения. Но для меня это не проблема.