随着搜索引擎大兴, 排列在前的网站引入大量流量. 无论是搜索页面的广告还是查出来的结果, 与搜索者的目标匹配度都比较高 (如果搜索引擎足够智能), 所以通过搜索引擎而来的访客很可能会从网站上得到他想要的东西, 并记住这个网站. 也就是说, 搜索引擎会带来很多有价值的流量, 所以花点时间针对搜索引擎优化一下 WordPress 博客也是值得的. 本文将为你分享一些 WordPress SEO 技巧.
以前我没有花太多时间做搜索引擎优化, 搜索引擎收录效果不是很好. 去年二月我终于为博客搞了一下 SEO, 写下这个文章. 一年半以来陆续进行了更多 SEO 优化, 博客文章写得不多了, 流量却有增无减, 网站也重回 PageRank 7, 效果相当不错的. 这次我根据自己的 WordPress SEO 方案更新了本文的内容.
优化博客副标题
副标题 (slogan), WordPress 中称为 tagline. 它与博客标题不一样, 可能会承载一些描述博客的文字, 优化一下可以利用起来. 如我的副标题是 "mg12's Blog - Just Another WordPress Blog", 其中的 WordPress Blog 被我设置为 h1. 因为我想告诉爬虫, 这是一个关于 WordPress 的博客.
区分显示页面标题
页面的标题不要包含博客名称. WordPress 标题一般会用到 bloginfo('name') 和 wp_title() 两部分, 前者是博客名称, 后者是文章标题 (如果标题不存在则不显示). 经典主题和默认主题输出标题用的代码如下.
<title><?php wp_title('«', true, 'right'); ?> <?php bloginfo('name'); ?></title>
输出的标题结构是 "文章标题 » 博客名称".
除非你的标题和文章内容相关度比较高, 否则这样的标题对 SEO 显然是不好的. 标题是爬虫认为重要的内容之一, 如果标题中包含了与文章内容无关的信息, 多少会对该页面有所影响.
那应该怎么弄呢? 我们可以对不同类型的页面进行区分, 我的实现代码如下.
<title><?php // 如果是首页和文章列表页面, 显示博客标题 if(is_front_page() || is_home()) { bloginfo('name'); // 如果是文章详细页面和独立页面, 显示文章标题 } else if(is_single() || is_page()) { wp_title(''); // 如果是类目页面, 显示类目表述 } else if(is_category()) { printf('%1$s 类目的文章存档', single_cat_title('', false)); // 如果是搜索页面, 显示搜索表述 } else if(is_search()) { printf('%1$s 的搜索结果', wp_specialchars($s, 1)); // 如果是标签页面, 显示标签表述 } else if(is_tag()) { printf('%1$s 标签的文章存档', single_tag_title('', false)); // 如果是日期页面, 显示日期范围描述 } else if(is_date()) { $title = "'; if(is_day()) { $title = get_the_time("Y年n月j日'); } else if(is_year()) { $title = get_the_time('Y年'); } else { $title = get_the_time('Y年n月'); } printf('%1$s的文章存档', $title); // 其他页面显示博客标题 } else { bloginfo('name'); } ?></title>
Keywords 和 Description
Keywords 为搜索引擎提供网页包含的核心内容, Description 则为搜索引擎提供网页的描述信息. 我发布的主题曾经包括了对 keywords 和 description 的处理, 但因为一些 SEO 插件发生冲突, 在较新的版本中已经去除. 笔者认为 WordPress 的很多所谓 SEO 插件做得并不到位, 对中文博客支持都很差, 自己修改一下效果可能更好.
以下是我对 keywords, description 和页面标题的处理规则, 实现方法可以参考上一段关于页面标题的说明.
文章详细页面的描述一般取文章的前 220 个字符即可, 特别重要的页面和文章可以自定义摘要, 使其信息准确度更高. 如果存在摘要信息则使用摘要, 没有则使用前 220 个字符, 实现代码如下.
<?php if($post->post_excerpt) { $description = $post->post_excerpt; } else { // utf8_trim 方法是为了在截取字符之前对字符串进行转义, 避免出现截取半个汉字的情况 // 参考文档: http://php-utf8.61924.nl/documentation/functions/utf8_trim.html $description = utf8_trim(substr(strip_tags($post->post_content), 0, 220)); } ?>
今天,很多网站的 URL 的设计都是有问题的——因为 RESTful。依据 RESTful API 原则,我们设计出来的 API 的 URL 都会有这样那样的缺陷。 在过去的几年里,搜索引擎的影响力发生了一些变化——其影响力的趋势是逐渐变弱。应用程序已经变成了流量的一个大入口,当然搜索引擎也还是一个大的 入口。搜索引擎优化看上去并没有那么重要,企业靠活动、运营来挖掘新的用户。可当所有的人不重视,而
问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 任何人都可以建议一个很好的分页php脚本,其中一个人要分页显示数据库中的许多项目 问题答案: 以下链接可以帮助您,它也具有易于使用的描述 http://www.strangerstudios.com/sandbox/pagination/di
本文向大家介绍调试WordPress中定时任务的相关PHP脚本示例,包括了调试WordPress中定时任务的相关PHP脚本示例的使用技巧和注意事项,需要的朋友参考一下 一般人们使用WordPress的Cron API来实现定时任务,它的原理就是将创建的定时任务存储到数据库里,当有人访问的时候就去判断一下是否到时间需要执行这个定时任务,如果到时间则执行。 因为这种原理,所以执行的时间可能会有一些偏差
大部分的事件触发依赖于用户与浏览器的交互,但用户的行为是不可控的,许多交互设计上的缺陷与无法考虑到的因素会导致事件的频繁触发。 当事件处理器内部包含大量的操作,又不需要如此快速的响应事件时,就需要采用一些手段来限制事件处理器的执行。 事件的优化主要有两个目的: 减少不必要的 HTTP 请求 减少本机性能的消耗 1. 交互设计 通过交互的设计来优化事件是最常用到的方式。 如用户点击删除后将按钮禁止。
本文向大家介绍angularjs的一些优化小技巧,包括了angularjs的一些优化小技巧的使用技巧和注意事项,需要的朋友参考一下 关于优化ng的手段网上已经有很多了,核心都是从$$watchers这个作用域内部属性说起的,今天我来说点别的,本质还是不变的,因为这是ng的硬伤,不过我相信只要运用合适的手法,这些问题还是可以避免的. ng简介 angularjs简称ng,是google出品的mvvm
本文向大家介绍做过哪些MySQL索引相关优化?相关面试题,主要包含被问及做过哪些MySQL索引相关优化?时的应答技巧和注意事项,需要的朋友参考一下 尽量使用主键查询: 聚簇索引上存储了全部数据, 相比普通索引查询, 减少了回表的消耗. MySQL5.6之后引入了索引下推优化, 通过适当的使用联合索引, 减少回表判断的消耗. 若频繁查询某一列数据, 可以考虑利用覆盖索引避免回表. 联合索引将高频字段