Внутренняя перелинковка страниц блога WordPress без плагинов

Внутренняя перелинковка страниц блога является достаточно важным пунктом в оптимизации блога под низкочастотные запросы. По сравнению с ВЧ( высокочастотные запросы), конкуренция по низкочастотникам в поисковиках довольно небольшая. Поэтому есть смысл для привлечения трафика на блог продвигать его по низкочастотным запросам. Многие поисковые системы, при поисковой выдаче учитывают статический вес страниц. И чем этот статический вес страницы будет выше, тем выше эта страница будет стоять в поисковой выдаче по данному запросу. Как же увеличить статический вес страницы? Да просто - при помощи ссылок, причем, как внешних, так и внутренних. Вот и попробуем "налить" веса своим страницам, используя внутренние ссылки, а попросту  - делая перелинковку блога. Для перелинковки статей блога WordPress существует множество плагинов. Об одном из таких плагинов - WordPress Related Post я уже писал. Всем хороши плагины. Но при большом их использовании - значительно замедляется скорость загрузки страницы. И как следствие - потенциальный посетитель просто уходит, так и не зайдя на Ваш блог. Ведь не у каждого еще в нашей стране имеется высокоскоростной и безлимитный интернет. Да и поисковые системы в последнее время стали пессимизировать медленные блоги и сайты. Вот мы сегодня и поговорим, как можно произвести перелинковку блога WordPress без использования плагинов.

Как уже говорилось, плагины потребляют много ресурсов и большое их количество использовать на блоге не целесообразно. Тем более, что внутреннюю перелинковку блога можно сделать и не прибегая к их помощи. Существует несколько способов и каждый из них  хорош по своему. Все их я перечислять не буду, остановлюсь лишь на тех, которые сам использую.

Методы перелинковки блога WordPress основаны на добавлении определенного кода в файл Вашего шаблона  single.php., в то место, где Вы хотели бы созерцать "Предыдущие Записи". Вывод предыдущих записей  можно сделать при наличии одинаковых тегов, если конечно Вы их используете, или же просто вывод предыдущих  N-записей с данной рубрики.

Внутренняя перелинковка страниц с использованием тегов

</p>
<div class="php codecolorer" style="white-space: nowrap;"><span class="kw2">&lt;?php</span><br />
	<span class="re0">$tags</span> <span class="sy0">=</span> wp_get_post_tags<span class="br0">(</span><span class="re0">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="br0">)</span><span class="sy0">;</span><br />
	<span class="kw1">if</span> <span class="br0">(</span><span class="re0">$tags</span><span class="br0">)</span> <span class="br0">{</span><br />
	<span class="re0">$tag_ids</span> <span class="sy0">=</span> <noindex><a rel="nofollow" class="pageNoFollow_hilite" href="http://www.wp-info.ru/goto/http://www.php.net/array" rel="nofollow" target="_blank"><span class="kw3">array</span></a></noindex><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span><br />
	<span class="kw1">foreach</span><span class="br0">(</span><span class="re0">$tags</span> <span class="kw1">as</span> <span class="re0">$individual_tag</span><span class="br0">)</span> <span class="re0">$tag_ids</span><span class="br0">[</span><span class="br0">]</span> <span class="sy0">=</span> <span class="re0">$individual_tag</span><span class="sy0">-&gt;</span><span class="me1">term_id</span><span class="sy0">;</span><br />
	<br />
	<span class="re0">$args</span><span class="sy0">=</span><noindex><a rel="nofollow" class="pageNoFollow_hilite" href="http://www.wp-info.ru/goto/http://www.php.net/array" rel="nofollow" target="_blank"><span class="kw3">array</span></a></noindex><span class="br0">(</span><br />
	<span class="st_h">&#39;tag__in&#39;</span> <span class="sy0">=&gt;</span> <span class="re0">$tag_ids</span><span class="sy0">,</span><br />
	<span class="st_h">&#39;post__not_in&#39;</span> <span class="sy0">=&gt;</span> <noindex><a rel="nofollow" class="pageNoFollow_hilite" href="http://www.wp-info.ru/goto/http://www.php.net/array" rel="nofollow" target="_blank"><span class="kw3">array</span></a></noindex><span class="br0">(</span><span class="re0">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="br0">)</span><span class="sy0">,</span><br />
	<span class="st_h">&#39;showposts&#39;</span><span class="sy0">=&gt;</span><span class="nu0">5</span><span class="sy0">,</span> <span class="co1">// Количество записей для вывода.</span><br />
	<span class="st_h">&#39;caller_get_posts&#39;</span><span class="sy0">=&gt;</span>1<br />
	<span class="br0">)</span><span class="sy0">;</span><br />
	<span class="re0">$my_query</span> <span class="sy0">=</span> <span class="kw2">new</span> wp_query<span class="br0">(</span><span class="re0">$args</span><span class="br0">)</span><span class="sy0">;</span><br />
	<span class="kw1">if</span><span class="br0">(</span> <span class="re0">$my_query</span><span class="sy0">-&gt;</span><span class="me1">have_posts</span><span class="br0">(</span><span class="br0">)</span> <span class="br0">)</span> <span class="br0">{</span><br />
	<span class="kw1">echo</span> <span class="st_h">&#39;&lt;h3&gt;Похожие записи&lt;/h3&gt;&lt;ul&gt;&#39;</span><span class="sy0">;</span><br />
	<span class="kw1">while</span> <span class="br0">(</span><span class="re0">$my_query</span><span class="sy0">-&gt;</span><span class="me1">have_posts</span><span class="br0">(</span><span class="br0">)</span><span class="br0">)</span> <span class="br0">{</span><br />
	<span class="re0">$my_query</span><span class="sy0">-&gt;</span><span class="me1">the_post</span><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span><br />
	<span class="sy1">?&gt;</span><br />
	&lt;li&gt;&lt;a href=&quot;<span class="kw2">&lt;?php</span> the_permalink<span class="br0">(</span><span class="br0">)</span> <span class="sy1">?&gt;</span>&quot; rel=&quot;bookmark&quot; title=&quot;Постоянная ссылка на <span class="kw2">&lt;?php</span> the_title_attribute<span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> <span class="sy1">?&gt;</span>&quot;&gt;<span class="kw2">&lt;?php</span> the_title<span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> <span class="sy1">?&gt;</span>&lt;/a&gt;&lt;/li&gt;<br />
	<span class="kw2">&lt;?php</span><br />
	<span class="br0">}</span><br />
	<span class="kw1">echo</span> <span class="st_h">&#39;&lt;/ul&gt;&#39;</span><span class="sy0">;</span><br />
	<span class="br0">}</span><br />
	<span class="br0">}</span><br />
	<span class="sy1">?&gt;</span></div>
<p><br />
	<br />
	

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

Внутренняя перелинковка без использования тегов

Данный способ перелинковки блога мне больше нравится. С его помощью можно вывести n-количество страниц из той же рубрики, где размещена статья.

По мимо того что этот способ использует намного меньше ресурсов чем аналогичные плагины, он также более логично перелинковывает все страницы. У Вас не получится такая ситуация что на некоторые страницы будут 1-2 ссылки, а на другие по 10 ссылок, при использовании этого способа на каждую запись у Вас всегда будет по 5 ссылающихся страниц! Также плюсом можно назвать и постоянность ссылок, т.е. они не буду изменяться при появлении новых записей.

</p>
<div class="php codecolorer" style="white-space: nowrap;"><span class="kw2">&lt;?php</span><br />
	<span class="kw2">function</span> show_previous_posts_from_category <span class="br0">(</span><span class="re0">$the_post_id</span><span class="sy0">,</span> <span class="re0">$the_category_id</span> <span class="sy0">=</span> 0<span class="sy0">,</span> <span class="re0">$post_num</span><span class="br0">)</span> <span class="br0">{</span><br />
	<br />
	<span class="re0">$num</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span><br />
	<span class="kw2">global</span> <span class="re0">$wpdb</span><span class="sy0">;</span><br />
	<br />
	<span class="re0">$sql</span> <span class="sy0">=</span> <span class="st0">&quot;SELECT wposts.*<br />
	FROM <span class="es4">$wpdb-&gt;posts</span> wposts<br />
	LEFT JOIN <span class="es4">$wpdb-&gt;term_relationships</span> ON (wposts.ID = <span class="es4">$wpdb-&gt;term_relationships</span>.object_id)<br />
	LEFT JOIN <span class="es4">$wpdb-&gt;term_taxonomy</span> ON (<span class="es4">$wpdb-&gt;term_relationships</span>.term_taxonomy_id = <span class="es4">$wpdb-&gt;term_taxonomy</span>.term_taxonomy_id)<br />
	WHERE <span class="es4">$wpdb-&gt;term_taxonomy</span>.taxonomy = &#39;category&#39;<br />
	AND <span class="es4">$wpdb-&gt;term_taxonomy</span>.term_id = &#39;<span class="es4">$the_category_id</span>&#39;<br />
	AND wposts.post_status = &#39;publish&#39;<br />
	AND wposts.post_type = &#39;post&#39;<br />
	AND wposts.ID &lt; &#39;<span class="es4">$the_post_id</span>&#39;<br />
	ORDER BY wposts.ID DESC<br />
	LIMIT <span class="es4">$post_num</span>&quot;</span><span class="sy0">;</span><br />
	<br />
	<span class="re0">$result</span> <span class="sy0">=</span> <span class="re0">$wpdb</span><span class="sy0">-&gt;</span><span class="me1">get_results</span><span class="br0">(</span><span class="re0">$sql</span><span class="sy0">,</span> OBJECT<span class="br0">)</span><span class="sy0">;</span><br />
	<span class="kw2">global</span> <span class="re0">$post</span><span class="sy0">;</span><br />
	<span class="sy1">?&gt;</span><br />
	&lt;ul&gt;<br />
	<span class="kw2">&lt;?php</span><br />
	<span class="kw1">foreach</span> <span class="br0">(</span><span class="re0">$result</span> <span class="kw1">as</span> <span class="re0">$post</span><span class="br0">)</span> <span class="br0">{</span><br />
	setup_postdata<span class="br0">(</span><span class="re0">$post</span><span class="br0">)</span><span class="sy0">;</span><br />
	<span class="sy1">?&gt;</span><br />
	&lt;li&gt;&lt;a href=&quot;<span class="kw2">&lt;?php</span> the_permalink<span class="br0">(</span><span class="br0">)</span> <span class="sy1">?&gt;</span>&quot; rel=&quot;bookmark&quot;&gt;<span class="kw2">&lt;?php</span> the_title<span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> <span class="sy1">?&gt;</span>&lt;/a&gt;&lt;/li&gt;<br />
	<span class="kw2">&lt;?php</span><br />
	<span class="re0">$num</span><span class="sy0">++;</span><br />
	<span class="re0">$save_ids</span><span class="br0">[</span><span class="br0">]</span> <span class="sy0">=</span> <span class="re0">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="sy0">;</span><br />
	<span class="br0">}</span><br />
	<span class="kw1">if</span> <span class="br0">(</span> <span class="re0">$num</span> <span class="sy0">&lt;</span> <span class="re0">$post_num</span> <span class="sy0">||</span> <span class="sy0">!</span><span class="re0">$result</span> <span class="br0">)</span> <span class="br0">{</span><br />
	<span class="re0">$need_more</span> <span class="sy0">=</span> <span class="re0">$post_num</span><span class="sy0">-</span><span class="re0">$num</span><span class="sy0">;</span><br />
	<span class="re0">$save_ids</span><span class="br0">[</span><span class="br0">]</span> <span class="sy0">=</span> <span class="re0">$the_post_id</span><span class="sy0">;</span><br />
	<span class="re0">$save_ids</span> <span class="sy0">=</span> <noindex><a rel="nofollow" href="http://www.wp-info.ru/goto/http://www.php.net/join" rel="nofollow" target="_blank"><span class="kw3">join</span></a></noindex> <span class="br0">(</span><span class="st_h">&#39;,&#39;</span><span class="sy0">,</span> <span class="re0">$save_ids</span><span class="br0">)</span><span class="sy0">;</span><br />
	<span class="re0">$more_posts</span> <span class="sy0">=</span> get_posts<span class="br0">(</span><span class="st0">&quot;numberposts=<span class="es4">$need_more</span>&amp;category=<span class="es4">$the_category_id</span>&amp;exclude=<span class="es4">$save_ids</span>&quot;</span><span class="br0">)</span><span class="sy0">;</span><br />
	<span class="kw1">foreach</span> <span class="br0">(</span><span class="re0">$more_posts</span> <span class="kw1">as</span> <span class="re0">$post</span><span class="br0">)</span><span class="br0">{</span><br />
	setup_postdata<span class="br0">(</span><span class="re0">$post</span><span class="br0">)</span><span class="sy0">;</span><br />
	<span class="sy1">?&gt;</span><br />
	&lt;li&gt;&lt;a href=&quot;<span class="kw2">&lt;?php</span> the_permalink<span class="br0">(</span><span class="br0">)</span> <span class="sy1">?&gt;</span>&quot; rel=&quot;bookmark&quot;&gt;<span class="kw2">&lt;?php</span> the_title<span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> <span class="sy1">?&gt;</span>&lt;/a&gt;&lt;/li&gt;<br />
	<span class="kw2">&lt;?php</span><br />
	<span class="br0">}</span><br />
	<span class="br0">}</span><br />
	<span class="sy1">?&gt;</span><br />
	&lt;/ul&gt;<br />
	<span class="kw2">&lt;?php</span> <span class="br0">}</span> <span class="sy1">?&gt;</span><br />
	<br />
	<span class="kw2">&lt;?php</span><br />
	<span class="re0">$the_cat</span> <span class="sy0">=</span> get_the_category<span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span><br />
	<span class="re0">$the_cat_id</span> <span class="sy0">=</span> <span class="re0">$the_cat</span><span class="br0">[</span>0<span class="br0">]</span><span class="sy0">-&gt;</span><span class="me1">cat_ID</span><span class="sy0">;</span><br />
	show_previous_posts_from_category<span class="br0">(</span><span class="re0">$post</span><span class="sy0">-&gt;</span><span class="me1">ID</span><span class="sy0">,</span> <span class="re0">$the_cat_id</span><span class="sy0">,</span> 5<span class="br0">)</span><span class="sy0">;</span><br />
	wp_reset_query<span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span><br />
	<span class="sy1">?&gt;</span></div>
<p>

Мне больше всего нравится второй способ. Все статьи получают определенное количество ссылок и тем самым блог отлично перелинковывается.

Похожие статьи

  • Нет похожих записей

Комментарии:

Оставить комментарий



облако тегов

Картаzss nnf k9 re1 kr36 srok palec srok palec gosu0 gos70
rss
Карта