FL.ru – фриланс сайт удаленной работы №1. Поиск удаленной работы, фрилансеры.

Сравнение SEO плагинов All in One SEO Pack и Platinum SEO Pack

Категории: WordPress

сравнение плагинов wordpressНедавно я решил провести анализ двух плагинов, которые установлены у меня на разных ресурсах.

Причин для анализа было несколько – не наблюдалось прироста посетителей, страницы в поиске то появлялись, то исчезали, просмотр исходного кода нескольких страниц моих сайтов несколько озадачил меня, да и вообще, просто стало интересно, потому что один из этих плагинов я уже использую уже столько, сколько себя помню, а ведь конкуренция должна же быть какая-то. Поэтому решил немного исследовать рынок. Но обо всем по порядку.

На одном ресурсе я уже сравнительно давно установил SEO-плагин All in One SEO Pack, настроил его, как мне казалось, правильно, проверил его работу и благополучно о нем забыл. Второй свой сайт я создал совсем недавно (с полгода назад), и именно для сравнения результатов работы установил на нем плагин Platinum SEO Pack. Немного удивился возможностям этого плагина, так как уже привык к All in One SEO, и также, настроив и проверив его работу, на время упустил его из виду. Но недавно я нашел в сети довольно интересный плагин для проверки нагрузочной способности каждого установленного на сайте плагина.

Искал я его по той простой причине, что решил немного разгрузить свои ресурсы, освободив их от лишних запросов к базе данных путем применения скриптов вместо плагинов. Этот плагин — P3 (Plugin Performance Profiler) – анализирует нагрузку, создаваемую каждым плагином, и результаты выводит в виде диаграммы. Принимать решение об удалении того или иного плагина – это уже прерогатива владельца сайта. После проведения такой ревизии плагин можно отключить, чтобы он не грузил сервер. Проанализировав таким образом оба ресурса, на которых я «проводил опыты» по оптимизации их при помощи SEO-плагинов, сделал несколько выводов, которыми хочу поделиться. Но для начала – визуальные результаты моего сравнительного анализа:

сравнение seo плагинов

Результаты меня, мало сказать – удивили, они меня просто озадачили. Как видите, сайт, на котором используется плагин Platinum SEO Pack, совсем не испытывает нагрузок от этого компонента, хотя имеет около 1000 страниц. На диаграмме этот плагин даже не отображается. Зато на том сайте, где установлен All in One SEO Pack, нагрузка от него нешуточная – 28% от общего количества установленных плагинов при реально существующем количестве страниц в пределах 2000.

Вот я и решил сравнить эти плагины, и заодно выяснить, можно ли обойтись вообще без них. Во-первых, у All in One SEO Pack нет возможности организовать редирект (ошибка 301), чего я не знал раньше, до того момента, пока мне самому не пришлось столкнуться с этой проблемой. Но с другой стороны, эту функцию можно оживить, внедрив соответствующий код в файл header.php темы. Исходный код на обеих сайтах (сравнивались и главные страницы, и записи) оставляет желать лучшего с применением этих плагинов. Конечно, многое зависит от того, как настроены сами плагины, но лично мне среди этого нагромождения ключевых слов и описаний больше понравилась работа Platinum SEO Pack. При более точной настройке можно добиться неплохих результатов, тем более, что в настройках я совершенно случайно обнаружил одну довольно интересную возможность. Об этой возможности я нигде раньше не читал, поэтому был приятно удивлен, совершенно случайно её обнаружив, когда добавлял очередную рубрику и искал по этому поводу какую-то информацию в интернете.

Если зайти в «Записи» + «рубрики» + «Изменить», то, внеся в поле «Описание» некоторые изменения, получаем индивидуальный набор ключевых слов и описание не только рубрики, но и (при соответствующих настройках плагина Platinum SEO Pack) самой записи в этой рубрике. Вот как выглядят вносимые изменения:

api key

Кликните, чтобы увеличить картинку

Вписать необходимо следующий шорткод:

[description]Ваше описание[/description]

и

[keywords]Ваши ключевые слова через запятую[/keywords]

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

Что может All in One SEO Pack:

1. Организация канонических адресов (очень полезно для поисковиков)

2. Может «самообучаться» благодаря API – использует некоторые возможности других установленных плагинов и вашей темы.

3. Применение защиты nonce – что-то вроде одноразовой защиты, например, защита от спама в комментариях. В WordPress применяется давно

4. Генерация мета-заголовков, мета-описаний и ключевых слов для страниц и записей.

5. Возможность включения функции защиты от дублирования контента (как самого контента, так и ключевиков и описаний). Если у вас много страниц, пользуйтесь этой функцией осторожно, особенно если вы работаете со ссылочными биржами – многие страницы могут улететь в ERROR.

6. Совместимость почти со всеми плагинами, о чем я уже упоминал. Нужно будет проверить его совместимость с Platinum SEO Pack – это был бы отличный тандем.

Возможности Platinum SEO Pack:

1. Редирект (301-я ошибка). Эта возможность позволяет менять структуру внутренних ссылок, даже если на вашем сайте несколько тысяч страниц. Плагин будет перенаправлять пользователя по нужному адресу автоматически. Мне эта функция пригодилась, когда я убрал тег «category» из ссылок сайта. Также редирект может пригодиться, если вы вдруг (!) решили укоротить ссылки в страницах и записях. В настройках All in One SEO Pack такой возможности нет

2. Канонические URL-ы (в мета-тегах прописывается rel=’canonical’)

3. Возможность автоматического создания описаний для страниц, рубрик и записей

4. Множество настроек для всех мета (title, discription и keywords) для всех документов сайта

5. У определенного документа (страница или запись) настройки можно отключить, а также прописать свои описания, заголовки и ключевые слова




6. Можно переопределить все заголовки, описания и ключевые слова для страниц и записей

7. В настройках плагина (чего нет в All in One SEO Pack) можно включать/выключать noindex, nofollow, noydir, noarchive, noodp, nosnippet

8. Возможность добавления своих значений мета к уже определенных плагином.

Не все вышеперечисленные возможности этих плагинов можно реализовать скриптами, но некоторые из них определенно можно заменить на код. Как видите, все-таки плагин Platinum SEO Pack обладает более широким набором функционала, а именно:

1. Создание 301-го редиректа. У All in One SEO Pack эта функция не предусмотрена, хотя очевидно она необходима, хотя и редко, особенно для начинающих веб-мастеров. Но с другой стороны, всегда можно сделать редирект, проведя соответствующие изменения в файле .htaccess. Опять же, это в том случае, если вы знакомы с HTML и не боитесь самостоятельно вносить изменения в такие важные файлы. Да и менять адреса ссылок (я уже говорил об этом) чревато последствиями. Лично я это делал всего один раз по незнанию, о чем сразу же пожалел. Конечно, все исправил, но дань пришлось воздать за приобретение негативного, но все же опыта.

2. Для каждой отдельно взятой рубрики можно настроить свое описание (выше я рассказывал, как это сделать). Также можно это сделать и для меток записей.

3. Значения, которые обычно указываются в файле robots.txt (noindex, nofollow и т.д.), можно назначить в админпанели. Правда, об этом можно и забыть, а то, что написано в robots.txt, не вырубишь топором.

Преимущества All in One SEO Pack – таковых я не выявил, кроме, разве что, возможности интеграции в e-Commerce, что случается крайне редко. Кстати, для тех, кто не знает – канонические адреса уже давно используются в самом WordPress. Так что, по большому счету, эта функция в плагинах вообще не нужна.

Еще немного о предпочтениях: все настройки плагина All in One SEO Pack хранятся в одном месте, что, несомненно, предпочтительнее. Настройки Platinum SEO Pack находятся в разных файлах. Но, несмотря на эту небольшую полезность, я бы все-таки выбрал Platinum SEO Pack для всех своих сайтов и блогов. Жаль, что раньше не знал об этом плагине, да и о многом еще полезном. Н-да…

Делая обобщенные выводы из всей этой информации, могу определенно сказать следующее – устанавливать эти плагины (какой из них вы выберете, я не знаю) нужно сразу после создания сайта. Не откладывайте на то время, когда у вас будет уже несколько сотен страниц, ведь делать изменения сложно в том смысле, что последствия таких изменений могут быть непредсказуемыми или вообще катастрофическими. При настройках плагинов подходите к этому с осторожностью, почитайте, полистайте, а уж потом настраивайте.

И все-таки, как отказаться от некоторых, а может быть и от всех функций плагинов? Ведь по большому счету создавались они только для реализации таких возможностей, как генерация и перезапись всех значений мета (заголовки, описания и ключи), в том числе и значений robots. А все остальные функции существуют только для удобства пользования, или для тех пользователей, которые не влазят в дебри WordPress так, как я. Вот замена этим трем пунктам, которые выполняют оба плагина (В этом коде сразу все комментируется, так что все предельно ясно и просто):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
1.	/**  заголовок мета (title): 
2.	    – Первое указанное значение функции - слеш, вторе – заголовок самого блога. Если не прописывать заголовок, то он будет автоматически браться из настроек темы блога. 
3.	    - Для меток записей и рубрик указывается в описании, в настройках так (аналогично пункту №4 в «Возможности Platinum SEO Pack», смотри ниже): [title=Заголовок] 
4.	    - Для страниц блога или записей, если название страницы будет отлично от заголовка статьи,  впишите в произвольное поле в настройках записи title и  его значение - заголовок записи
5.	------------------------------------- */  
6.	function max1net_meta_title ($sep=" | ",$bloginfo_name=''){  
7.	    global $wp_query,$post;  
8.	    if (!$bloginfo_name) $bloginfo_name = get_bloginfo('name');  
9.	    $wp_title = wp_title($sep, 0, 'right');  
10.	  
11.	    if (is_category() || is_tag()){  
12.	        $desc = $wp_query->queried_object->description;  
13.	        if ($desc) preg_match ('!\[title=(.*)\]!iU',$desc,$match);  
14.	        $out = $match[1] ? $match[1].$sep : ((is_tag())?"Метка:":"Категория:")." $wp_title";  
15.	    }  
16.	    elseif (is_singular()) $out = ($free_title = get_post_meta($post->ID, "title", true)) ? $free_title.$sep : $wp_title;  
17.	    elseif (is_author()) $out = "Статьи автора: $wp_title";  
18.	    elseif (is_day() || is_month() || is_year()) $out = "Архив за: $wp_title";  
19.	    elseif (is_search()) $out = 'Результаты поиска по запросу: '. strip_tags($_GET['s']) . $sep;  
20.	    elseif (is_404()) $out = "Ошибка 404 - страница не существует".$sep.$wp_title;  
21.	  
22.	    $out = trim($out.$bloginfo_name);  
23.	    if ($paged = get_query_var('paged')) $out = "$out (страница $paged)";  
24.	    return print $out;  
25.	}  
26.	  
27.	  
28.	  
29.	/**  описание мета (description): 
30.	    - Для главной страницы её описание прописывается в функции таким образом: max1net_meta_description (Описание главной страницы блога); 
31.	    - Для страниц категорий и меток записей прописывается в описании таким образом (аналогично пункту №4 в «Возможности Platinum SEO Pack», смотри ниже): [description=текст, описание] 
32.	    - У записей блога проверяется произвольное поле description, если поле есть, то описание берется из него, затем проверяется поле "цитата". Если цитата отсутствует, то описание для записи берется, из верхней части содержимого записи. 
33.	    - второе значение в функции - количество символов для создания описания: max1net_meta_description ('Описание главной страницы блога',160); 
34.	------------------------------------- */  
35.	function max1net_meta_description( $home_description='', $maxchar=160 ){  
36.	    global $wp_query,$post;  
37.	    if( is_front_page() )   
38.	        $out = $home_description;  
39.	    elseif( is_singular() ){  
40.	        if ( $descript = get_post_meta($post->ID, "description", true) )  
41.	            $out = $descript;  
42.	        elseif ($post->post_excerpt!='')  
43.	            $out = trim(strip_tags($post->post_excerpt));  
44.	        else  
45.	            $out = trim(strip_tags($post->post_content));  
46.	        $char = iconv_strlen( $out, 'utf-8' );  
47.	        if( $char > $maxchar ){  
48.	            $out = iconv_substr( $out, 0, $maxchar, 'utf-8' );  
49.	            $words = split(' ', $out );   
50.	            $maxwords = count($words) - 1; //убираем последнее слово, ибо оно в 99% случаев неполное  
51.	            $out = join(' ', array_slice($words, 0, $maxwords)).' ...';  
52.	        }  
53.	    }  
54.	    elseif( is_category() || is_tag() ){  
55.	        $desc = $wp_query->queried_object->description;  
56.	        if( $desc )   
57.	            preg_match ('!\[description=(.*)\]!iU',$desc,$match);  
58.	        $out = $match[1]?$match[1]:'';  
59.	    }  
60.	      
61.	    if( !empty($out) ){  
62.	        $out = str_replace( array("\n","\r"), ' ', strip_tags($out) );  
63.	        $out = preg_replace("@\[.*?\]@", '', $out); //удаляем шоткоды  
64.	        echo '<meta name="description" content="'. $out .'" />'."\n";  
65.	    }  
66.	    return;  
67.	}  
68.	  
69.	  
70.	  
71.	/** мета keywords: 
72.	    - Ключевые слова для главной страницы прописываются в функции так: max1net_meta_keywords (ключ 1, ключ 2, ключ 3); 
73.	    - Можно прописать ключевые слова во втором значении функции, в таком случае они будут добавляться на всех страницах блога: max1net_meta_keywords ('< ключи для главной страницы>','< остальные ключи>'); 
74.	    -Чтобы задать свои значения keywords для записи, впишите в произвольное поле в настройках записи keywords и пропишите в его значение выбранные вами ключевые слова. Если такого произвольного поля у страницы записи нет, то ключевые слова формируются из тегов и названия рубрик (или рубрики). 
75.	    -  Ключевые слова для страниц меток и рубрик прописываются в описании (аналогично пункту №4 в «Возможности Platinum SEO Pack», смотри ниже) так: [keywords=ключ 1, ключ 2, ключ 3] 
76.	------------------------------------- */  
77.	function max1net_meta_keywords ($home_keywords='',$def_keywords=''){  
78.	    global $wp_query,$post;  
79.	    if ( is_single() && !$out=get_post_meta($post->ID,'keywords',true) ){  
80.	        $out = '';  
81.	        $res = wp_get_object_terms( $post->ID, array('post_tag','category'), array('orderby' => 'none') ); // получаем категории и метки  
82.	        if ($res) foreach ($res as $tag) $out .= " {$tag->name}";  
83.	        $out = str_replace(' ',', ',trim($out));  
84.	        $out = "$out $def_keywords";  
85.	    }  
86.	    elseif (is_category() || is_tag()){  
87.	        $desc = $wp_query->queried_object->description;  
88.	        if ($desc) preg_match ('!\[keywords=(.*)\]!iU',$desc,$match);  
89.	        $out = $match[1]?$match[1]:'';  
90.	        $out = "$out $def_keywords";  
91.	    }  
92.	    elseif (is_home()){  
93.	        $out = $home_keywords;  
94.	    }  
95.	    if ($out) return print "<meta name='keywords' content='$out' />\n";  
96.	    return false;  
97.	}  
98.	  
99.	/** метатег robots: 
100.	    - Чтобы назначить свои атрибуты robots для страницы или для записи, впишите в произвольное поле страницы или записи robotsmeta  значения  атрибутов (noindex, nofollow и так далее – то, что вам необходимо) 
101.	    -  Не индексируются по умолчанию страницы поиска и архивы за сутки, страница авторизации и регистрации на сайте, RSS фид. Для того, чтобы запретить\разрешить индексирование типов или групп (страницы тегов, авторов), уберите знак #  в коде ниже. 
102.	----------------------------------------- */  
103.	function max1net_meta_robots ($out = ''){  
104.	    global $post;  
105.	    $eURL = $_SERVER['REQUEST_URI'];  
106.	    if ( // раскомментировать нужные строки  
107.	        #is_category()                               || // рубрики  
108.	        #is_tag()                                    || // теги  
109.	        #is_author()                                 || // архивы авторов  
110.	        #is_year()                                   || // архивы за год  
111.	        #is_month()                                  || // архивы за месяц  
112.	        is_day()                                     || // архивы за день  
113.	        strpos($eURL, '/wp-login.php') !== false     || // входная страница сайта  
114.	        strpos($eURL, '/wp-register.php') !== false  || // страница регистрации на сайте  
115.	        #strpos($eURL, '/comment-page') !== false    || // страницы комментариев на сайте
116.	        is_search()                                  || // страница поиска  
117.	        is_feed()                                       // RSS фиды  
118.	    ) $out = "noindex,nofollow";  
119.	  
120.	    if( is_singular() ){  
121.	        if( $robots = get_post_meta($post->ID, 'robots', true) )  
122.	            $out = $robots;  
123.	    }  
124.	    if( $out )  
125.	        return print "<meta name='robots' content='$out' />\n";  
126.	    return;  
127.	}

Особо сконцентрируйтесь на строках:

1
<title>< ?php kama_meta_title (" | "); ?></title>

Эта строка заменяет уже прописанный в header.php заголовок, выглядеть он будет примерно так (взято с дефолтного шаблона):

1
<title>< ?php wp_title('«', true, 'right'); ?> < ?php bloginfo('name'); ?></title>

Как видите, для создания своих заголовков здесь применяется произвольное поле title, для создания robots значений – поле robotsmeta и так далее. Это удобно, если вы хотите создать свои заголовки, описания, ключевые слова или значения robots для отдельных страниц. Все описания, названия рубрик и ключевые слова указываются в стандартных настройках WordPress. В названии блога замените существующее на свое. Здесь же, в файле header.php, можно удалить строки вызова ключевых слов, описаний или значений robots. Если вы будете это делать, то можно сразу удалить соответствующие строки и из того кода, который вы видите выше – они там уже не будут работать. Внеся эти изменения один раз, можно больше к ним не возвращаться.

Напоследок немного о том, как организовать перезапись заголовков. Имеется в виду такая организация заголовка: «Заголовок страницы+рубрика+теги | Название блога» (в том случае, если вы по какой-то причине хотите включить название блога в тайтлы). Перезапись делается в том случае, если вы хотите получить такой результат, который отличался бы от заголовка страницы или записи, например, заголовок с меткой о порядковом номере страницы. Вся эта реорганизация проводится двумя работающими в WordPress функциями — get_bloginfo(‘name’); и wp_title();.

Что касается меня, то эти изменения без применения плагинов я реализовал на отдельном сайте, теперь подожду немного, чтобы посмотреть, что получится. Особо ни на что не надеюсь, делал из простого любопытства. А на тех двух сайтах, которые я приводил в качестве примера, работают плагины. Пока что работают. До связи на волнах http://max1net.com/ ;)




  • Мне вот не нравиться то, что каждый плагин в WP наровит в исходный код страницы добавить левую информацию от себя, например что это за плагин, какая его версия и т.д.

    Для безопасности это очень плохо.

  • cpentyc

    Сделайте что нибудь с формой подписки. я на вас с 4 раза подписался. 

  • Именно поэтому хорошо иногда вместо установки плагина прописать кодом прямо в шаблоне нужную функцию

  • Какая именно не работает?

  • cpentyc

    Она работает, я ее найти не мог.

  • Напиши хоть что-нибудь жизненное. Уже сколько тебя читаю, посты только про партнёрки-сервисы-seo, как робот блин.

  • 🙂 Бывает, что и пишу (в этой рубрике 
    http://max1net.com/category/interesno-pochitat/za-zhizn/). Правда, не часто. Придерживаюсь тематики блога, «за жизнь» не всегда прет

  • Это уже идет деградация 🙂
    С WP давно уже не работал, сейчас только с Drupal. Там все делается в админке, модули в код ничего лишнего не добавляют и все подвергается автоматизации 🙂

  • Ты бы это, хоть ссылки вставил на плагины, где скачать, совсем жадный стал 🙂 А нам то ведь лень в Google лезть, мало ли, что не то найдем…  Второй плаг заинтересовал, возьму себе на заметку для новых блогов. 

  • А настроить SEO Pack на этом блоге, чтобы при постраничных переходах к тайтлу добавлялась не «- Part N», а «Страница N» слабо? )

Подпишитесь на рассылку блога
max1net.com:
Уже подписались человек
Укажите свой e-mail