Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Блоги и Социальные сети
»
Тема:
Wordpress How To
Новая тема
Ответить
цитата
14/02/11 в 21:51
Yacc
Мета тэги
Похожие посты
Метки
Реклама
Статистика
Фиды
Аякс
Shortcodes
FlowPlayer
KVS Player
Исправление ошибочных Uri в type-in трафике
Вопросы?
Последний раз редактировалось: Yacc (
06/06/12 в 11:09
), всего редактировалось 9 раз(а)
цитата
14/02/11 в 21:57
Yacc
Мета тэги
СЕ-оптимальные TITLE, DESCRIPTION и ROBOTS
Description обрезается на границе слова/предложения так, чтобы было не больше 200 символов.
Вставлять в начало секции <HEAD> в файле header.php
<?php
global $page, $paged;
$title = get_bloginfo( 'name' );
$desc = get_bloginfo( 'description' );
$robots = "noodp";
if (is_singular() ) {
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
$title = get_the_title();
if(!is_attachment()) {
$desc = preg_replace( '/<a.+a>/i', '', get_the_excerpt() );
}
else {
$desc = get_post_meta(get_the_id(), '_wp_attachment_image_alt', true);
}
}
}
}
elseif(is_category()) {
$title = single_cat_title("", false);
$desc = strip_tags( category_description() );
}
elseif(is_tag()) {
$title = single_tag_title("", false);
$desc = strip_tags( tag_description() );
}
elseif(is_date() || is_search()) {
$title = is_date() ? 'Archive' : wp_title("", false) ;
if ( have_posts() ) {
$desc = '';
while ( have_posts() ) {
the_post();
$desc .= get_the_title() . " ";
}
}
$robots = "noindex,nofollow";
}
elseif(is_404()) {
$title = 'Not found';
$desc = '';
$robots = "noindex,nofollow";
}
if ( $paged >= 2 || $page >= 2 ) {
$title .= ' | Page ' . max( $paged, $page );
}
if( strlen($desc) > 200 ) {
$desc = preg_replace('#(?<=[.!?])[^.!?]+$#i', '', substr($desc, 0, 200));
}
?>
<title><?php echo $title; ?></title>
<meta name="description" content="<?php echo $desc; ?>"/>
<meta name="robots" content="<?php echo $robots; ?>"/>
Удалить rsd_link, wlwmanifest_link, wp_generator.
Вставлять в конец файла functions.php
add_action('init',
create_function('',
'remove_action("wp_head", "rsd_link");
remove_action("wp_head", "wlwmanifest_link");
remove_action("wp_head", "wp_generator");'
)
);
Пинайте.
Последний раз редактировалось: Yacc (
02/03/11 в 11:48
), всего редактировалось 5 раз(а)
цитата
14/02/11 в 23:47
Crappyday
что это было?
цитата
14/02/11 в 23:51
Yacc
Где? Почему было?
Последний раз редактировалось: Yacc (
05/10/13 в 16:20
), всего редактировалось 3 раз(а)
цитата
14/02/11 в 23:53
Uz
Yacc, если не сложно посмотри прошлый топик, мож кинешь код для вывода постов в категориях и тегах там чёт я запутался
цитата
15/02/11 в 00:07
Crappyday
а как поможешь человеку - черкни тут пару строк - к чему код, а то я пошарил предыдущие топики и не увидал к чему ты это. просто сеошный? правильно прописывает мета и дескрипшен?
цитата
15/02/11 в 00:08
alfy
где редактируется вот этот титл в стандартных ссылках на категории в ВП?
title="View all posts in blablabla category"
цитата
15/02/11 в 00:09
Yacc
Uz писал:
... у меня в файлах category.php и tag.php вот эти функции get_template_part( 'loop', 'tag' ); ну и get_template_part( 'loop', 'category' );
нужно создавать отдельно loop-tag.php и loop-category.php ?
а туда какой код поставить чтобы отобразить эти блин посты по тегам и категориям ?
спасибо
В общем виде:
Код:
<?php
if ( ! have_posts() ) {
get_template_part('loop', '404');
}
else {
while ( have_posts() ) {
the_post();
the_title();
the_content();
}
}
Детали зависят от темы.
Последний раз редактировалось: Yacc (
15/02/11 в 00:19
), всего редактировалось 1 раз
цитата
15/02/11 в 00:16
Yacc
alfy писал:
где редактируется вот этот титл в стандартных ссылках на категории в ВП?
title="View all posts in blablabla category"
wp-includes/category-template.php
цитата
15/02/11 в 00:16
Yacc
Crappyday писал:
правильно прописывает мета и дескрипшен?
Правильно и красиво.
цитата
15/02/11 в 00:18
Crappyday
а, ептель, ну тогда безусловно полезная штука! )) забрал постестим, поковыряем
цитата
15/02/11 в 05:13
pingwin
а чем олинсео отличается? о чем ВЫ???
меньше запросов к базе? так все кэшируется.
титлы и дески. а кеи вы откуда возмете для каждого поста как не из мета-тегов?
КТО здесь?
цитата
15/02/11 в 10:00
Yacc
pingwin писал:
КТО здесь?
Тебе кого НАДО?
цитата
15/02/11 в 10:13
pingwin
хочу ВСЕХ посмотреть
цитата
15/02/11 в 11:18
tooouser
Yacc
хороший пост, спасибо!
цитата
15/02/11 в 13:23
Yacc
Похожие посты
Вставлять внутрь цикла в файле single.php
На основе первой категории поста
.
<?php
$post_id = get_the_id();
$post_categories = wp_get_post_categories($post_id);
if ($post_categories) {
$cat_id = $post_categories[0];
$args=array(
'category__in' => array($cat_id),
'post__not_in' => array($post_id),
'showposts' => 5,
'caller_get_posts' => 1
);
$related_posts = new WP_Query($args);
if( $related_posts->have_posts() ) { ?>
<div class="related">
Posts related to <strong><?php echo get_cat_name($cat_id); ?></strong>
<ul> <?php
while ($related_posts->have_posts()) {
$related_posts->the_post(); ?>
<li>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a>
</li> <?php
}
wp_reset_query(); ?>
</ul>
</div> <?php
}
}
?>
На основе первой метки поста
.
<?php
$post_id = get_the_id();
$post_tags = wp_get_post_tags($post_id);
if ($post_tags) {
$args=array(
'tag__in' => array($post_tags[0]->term_id),
'post__not_in' => array($post_id),
'showposts' => 5,
'caller_get_posts' => 1
);
$related_posts = new WP_Query($args);
if( $related_posts->have_posts() ) { ?>
<div class="related">
Posts related to <strong><?php echo $post_tags[0]->name; ?></strong>
<ul> <?php
while ($related_posts->have_posts()) {
$related_posts->the_post(); ?>
<li>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a>
</li> <?php
}
wp_reset_query(); ?>
</ul>
</div> <?php
}
}
?>
На основе ID постов
, заданых через запятую в Custom Field с именем Related post ids.
<?php
$post_id = get_the_id();
$related_posts_ids = get_post_meta($post_id, 'Related post ids', true);
$ids = explode(',', $related_posts_ids);
if (count($ids) > 0) {
$args = array(
'post__in' => $ids,
'caller_get_posts' => 1
);
$related_posts = new WP_Query($args);
if( $related_posts->have_posts() ) { ?>
<div class="related">
Related posts
<ul> <?php
while ($related_posts->have_posts()) {
$related_posts->the_post(); ?>
<li>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
<?php the_title(); ?>
</a>
</li> <?php
}
wp_reset_query(); ?>
</ul>
</div> <?php
}
}
?>
Пинайте.
Последний раз редактировалось: Yacc (
17/02/11 в 19:21
), всего редактировалось 4 раз(а)
цитата
15/02/11 в 14:33
FXIX
Оффтопик:
бро ты бы лучше блоги делал
. как тут некоторые деломаны по 130 баксов за говна кусочек. Твои бы улетали по 200
цитата
15/02/11 в 14:51
Yacc
FXIX писал:
Оффтопик:
бро ты бы лучше блоги делал
. как тут некоторые деломаны по 130 баксов за говна кусочек. Твои бы улетали по 200
Делаю $50.
Вставайте в очередь.
цитата
15/02/11 в 14:53
Yacc
Метки
Автоматическое создание меток из заголовка поста.
Вставлять в конец файла functions.php
Метки будут создаваться всякий раз после нажатия кнопки Publish/Update. Для меток берутся только слова - без цифр, знаков препинания и т.п., длинной от 3 до 10 символов. Кроме того фильтруются слова из массива $blacklist.
<?php
function stop_words_filter($tag) {
$blacklist = array( 'the', 'and', 'kids', 'lolita', 'etc' );
return !in_array( strtolower($tag), $blacklist );
}
function extract_tags($title) {
preg_match_all('/([A-Za-z]){3,10}(?=(\W|$))/', $title, $matches);
return $matches[0];
}
function create_tags($post_ID)
{
global $_POST;
if($_POST) {
$tags = array_map( 'ucfirst', array_values( array_filter( extract_tags( $_POST['post_title'] ), 'stop_words_filter' ) ) );
wp_set_object_terms( $post_ID, $tags, 'post_tag', true );
}
}
add_action('save_post', 'create_tags' );
?>
Пинайте.
Последний раз редактировалось: Yacc (
05/03/11 в 02:14
), всего редактировалось 4 раз(а)
цитата
15/02/11 в 15:37
pingwin
Yacc писал:
Удалить rsd_link, wlwmanifest_link, wp_generator.
у меня так было. косячу? или все-таки от версии зависит?;)))
automatic_feed_links(false);
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_generator');
function remove_unnecessary_tags() {
remove_action( 'wp_head', 'index_rel_link' );
remove_action( 'wp_head', 'rel_canonical' );
remove_action( 'wp_head', 'wp_shortlink_wp_head' );
remove_action( 'wp_head', 'parent_post_rel_link' );
remove_action( 'wp_head', 'start_post_rel_link' );
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head' );
}
add_action('get_header', 'remove_unnecessary_tags');
цитата
15/02/11 в 15:53
Yacc
pingwin писал:
косячу?
нет
А версия всегда одна - последняя.
цитата
15/02/11 в 16:49
pingwin
ок. может поделишься мыслями насчет плагинов кэширования?
вп-кэш одно время чудил для пользователей ИЕ (показывал кэшированные посты, даже при изменении содержания), hyper cache не так быстр и при 50к на блоге часто дает 404, есть еще плагин делающий php страницы в html - но он не для всех хостингов почему-то (права рута или light httpd все портит)
, хотя хорош.
что есть хорощего и всеядного в плагинах на данный момент?
цитата
15/02/11 в 17:19
pingwin
поделюсь фенечкой:
часто в облаке тэгов посты с часто повторяющимися мета-тэгами по дефолту делаются с размером шрифта 22, что "ест" лишнее пространство на странице и уменьшает количество рекламы))
изменить шрифт максимума по дефолту в файле wp-includes/category-template.php - поиск в файле по "wp_tag_cloud" и менять "'largest' => 22" на 16 хотя бы;)
'number' => 45 - меняет количество выводимых тэгов (дефолт 45)
'order' => 'ASC' - сортировка. для ру-блогов с EN-RU тэгами касается в первую очередь: если сортировка тэгов идет не по алфавиту. сначала поставьте DESC, а потом ASC опять. тогда тэги ВСЕ сортануться по алфавиту. (хз с чем таксономия так связана..)
ну и обязаловкой чистить код в темплейтах для уменьшения количества обращений к базе;)
цитата
15/02/11 в 17:31
Yacc
pingwin писал:
ок. может поделишься мыслями насчет плагинов кэширования?
Поделюсь. Хочешь сделать хорошо - сделай сам.
цитата
15/02/11 в 17:35
pingwin
Yacc писал:
Поделюсь. Хочешь сделать хорошо - сделай сам.
пиздец(( дельный совет. игнор за пафос и идиотизм.
Стр.
1
,
2
,
3
,
4
,
5
>
последняя »
Новая тема
Ответить
Эта страница в полной версии