WordPress的文章、评论等很多数据都是存放在数据库的,所以搭建wordpress网站的时间,网站的空间不需要多大,而数据库一定要充足,而在WordPress数据库中主要使用 wp_posts 表来存储日志,页面,附件,导航菜单等数据,根据使用的时间越来越长,堆积的数据越来越多,从而运行起来也越来越慢,那么我是十分有必要对 WordPress数据库来进行整体的优化下。 
温馨提醒优化之前切记先备份下数据 
删除所有日志修订 
影响wordpress运行速度的根源在于日志的修订记录,一百多篇文章会有一千多条的日志修订的记录,所以此步优化必须做,提速效果非常明显,执行以下SQL语句:

复制代码

代码如下: 
DELETE a,b,c FROM wp_posts a 
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision' 
优化 wp_posts 表 
写文章的时候进行的插入、更新或删除等都会产生不同大小的记录碎片,整理碎片这步要做。

复制代码

代码如下:
OPTIMIZE TABLE wp_posts;
删除所有垃圾留言
这个可以在后台一条一条的删除,也可以到mysql执行下也行:

复制代码

代码如下:
DELETE FROM wp_comments WHERE comment_approved != '1';
 
删除没有的标签
有些文章删除了,但标签还在,WordPress不会自动删除的,我们手动清理下吧:

复制代码

代码如下:
DELETE a,b,c
FROM
wp_terms AS a
LEFT JOIN wp_term_taxonomy AS c ON a.term_id = c.term_id
LEFT JOIN wp_term_relationships AS b ON b.term_taxonomy_id = c.term_taxonomy_id
WHERE (
c.taxonomy = 'post_tag' AND
c.count = 0
);
 
删除没用的 postmeta 记录
当文章的记录删除后,还有日志扩展表postmeta的数据还没有删除,也人工清理下吧:

复制代码

代码如下:
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL

总而言之网站的速度就是网站的”半条生命”不要让自己的网站太过臃肿,以免影响网友访问。

PHP Code复制内容到剪贴板

$description = "小残博客(www.exehack.net)关注网络安全、IT行业、网络安全文章、网络资源、电脑技术、网络安全技术、网络安全知识、互联网安全知识、原创网络安全博客";   
$keywords = "关注网络安全,网站漏洞,网络安全,网络安全技术,网络安全知识,网络安全教程,黑客新闻,服务器安全,网络安全文章,系统安全";}   
elseif (is_single() || is_page()) {   
$description1 = get_post_meta($post->ID, "description", true);   
$description2 = mb_strimwidth(strip_tags(apply_filters   
('the_content', $post->post_content)), 0, 200, "…");   
$description = $description1 ? $description1 : $description2;   
$keywords = get_post_meta($post->ID, "keywords", true);   
if($keywords == '') {   
$tags = wp_get_post_tags($post->ID);      
foreach ($tags as $tag ) {          
$keywords = $keywords . $tag->name . ", ";}   
$keywords = rtrim($keywords, ', ');}   
 }   
elseif (is_category()) {   
$description = category_description();   
$keywords = single_cat_title('', false);}   
elseif (is_tag()){   
$description = tag_description();   
$keywords = single_tag_title('', false);   
}   
$description = trim(strip_tags($description));   
$keywords = trim(strip_tags($keywords));   
?>   
<meta name="description" content="<?php echo $description; ?>" />   
<meta name="keywords" content="<?php echo $keywords; ?>" />

5. 固定链接

wordpress的默认固定链接是www.exehack.net/?p=32的形式,是动态链接对搜索引擎不 太友好,所以需要修改。
直接通过设置-固定链接选项,可以方便的修改固定链接的形式。至于选择哪种链接形式,其实主要看个人喜好。
推荐选择 /%postname%/形式。需要注意的是,固定链接要在网站建立之初就确立好,以后切勿修改,更改固定链接会对网站权重造成很大影响,即使使用301 重定向也是一样的,所以不要修改固定链接。

6.robots.txt

robots.txt 文件放在根目录下面,是给搜索引擎设置的爬行规则,可以规定搜索引擎可以爬行那些页面。
wordpress的robots.txt写法,可以搜索一下,并 没有标准答案,主要是注意禁止搜索引擎抓取后台文件即可。
可以参考本站的写法http://www.exehack.net/robots.txt

7.sitemap.xml

sitemap 是一个xml格式的网站地图文件,通过提交到搜索引擎,可以使搜索引擎更加容易抓取你的网站,sitemap是Google率先推出的,最近百度也支持 sitemap的提交,不过Google和百度的sitemap文件格式是有一些区别的。
wordpress的sitemap文件生成,直接使用插件即 可。wordpress的插件安装,在后台点击添加插件,然后直接搜索安装即可。
Google的sitemap插件名是Google XML Sitemaps,百度是Baidu Sitemap Generator。

8.内部链接

可以使用wordpress related post插件,它可以根据文章关键词生成一个相关文章列表,对于网站内部链接和用户体验都是有好处的。

WordPress博客系统搜索引擎优化seo全攻略方法的更多相关文章

  1. 使用docker部署WordPress博客系统(win10企业版)

    docker介绍: docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相 ...

  2. Centos 7使用docker部署LAMP搭建wordpress博客系统

    0.简要概述 LAMP是目前比较流行的web框架,即Linux+Apache+Mysql+PHP的网站架构方案.docker是目前非常流行的虚拟化应用容器,可以为任何应用创建一个轻量级.可移植的容器. ...

  3. 巨杉Tech | 十分钟快速搭建 Wordpress 博客系统

    介绍 很多互联网应用程序开发人员第一个接触到的网站项目就是博客系统.而全球使用最广的Wordpress常常被用户用来快速搭建个人博客网站.默认情况下,Wordpress一般在后台使用MySQL关系型数 ...

  4. 在centOS上搭建wordpress博客系统

    一.主要内容 1.安装LAMP服务器系统(Linux.Apache.MySQL.PHP ); 2.安装wordpress: 二.具体步骤 一.LAMP环境设置 1.安装LAMP系统,在centOS上可 ...

  5. 使用阿里云 ECS 快速部署 WordPress 博客系统

    今天在 阿里云 ECS上 部署了一套 Lamp 系统,建了一个WordPress的网站,把操作过程记录下来,文中所列脚本可以直接应用. 废话不多说直接开动,ECS云服务购买可以点击 阿里云ECS 云主 ...

  6. docker 搭建一个wordpress 博客系统(4)

    安装lnmp ()下载镜像 [root@server ~]# docker pull mysql:latest #下载mysql镜像 [root@server ~]# docker pull rich ...

  7. docker部署LAMP架构并部署上线wordpress博客系统

    第一步:直接在镜像仓库拉取LAMP镜像 [root@ken-node3 ken]# docker pull tutum/lamp 第二步:查看已经获取到的镜像 [root@ken-node3 ken] ...

  8. 怎么在阿里云搭建一个WordPress博客(超详细教程)

    想以正确的方式启动一个 WordPress 博客吗?我知道,这可能是一个令人恐惧的想法 -- 其实你并不孤单.但是,在帮助很多用户创建博客之后,我决定编写一份详细的指南,让任何没有技术知识的人都能拥有 ...

  9. 【docker构建】基于docker构建wordpress博客网站平台

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...

随机推荐

  1. 阿里云数据库实例的一个db被开发人员删除了 如何恢复

    1没有 逻辑备份的话. 如下操作即可 可以将那个临时实例的需要导的db用逻辑备份出来恢复到主实例就行了 好多朋友都在问,RDS中把数据恢复到7天内任意时间点的功能在哪里啊? 其实挺简单的,只需要五步操 ...

  2. Objective-C中 Self和 Super详解

    Objective-C中 Self和 Super详解 Objective-C 中Self 和 Super 详解本文要介绍的内容,在 Objective-C 中的类实现中经常看到这两个关键字 self  ...

  3. js随机更换

    如果想实现“随机”切换图像,那么我们要使用到几个Math()对象 第一个是random()函数,函数的功能是产生随机数,如果书写为 var a=Math.random() 那么所产生的随机数是0-1( ...

  4. EF Code First DataAnnotations

    Key EF框架要求每个实体必须有主键字段,他需要根据这个主键字段跟踪实体.CodeFirst方法在创建实体时,也必须指定主键字段,默认情况下属性被命名为ID.id或者[ClassName]Id,将映 ...

  5. java.util.concurrent包

    在JavaSE5中,JUC(java.util.concurrent)包出现了 在java.util.concurrent包及其子包中,有了很多好玩的新东西: 1.执行器的概念和线程池的实现.Exec ...

  6. ImportError: No module named setuptools

    Python第三方模块中一般会自带setup.py文件,在Windows环境下,我们只需要使用命令 cd c:\Temp\foo python setup.py install 两个命令就可以完成第三 ...

  7. maven增加Spring

    对于javax.annotation,spring某些注解要用的,比如:@Resource.   使用Maven管理基本的Spring依赖关系 Spring被设计为可高度模块化的 —— 使用Sprin ...

  8. CentOS 7 内核更新后删除旧内核

    0.当前 # uname -sr Linux -.el7.x86_64 1.搜索查询 # rpm -q kernel kernel--.el7.x86_64 kernel--.el7.x86_64 k ...

  9. [原创]java WEB学习笔记68:Struts2 学习之路-- 类型转换与复杂属性配合使用

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  10. php获取文件后缀名格式

    function get_extension($file) { substr(strrchr($file, '.'), 1); } 第2种方法: function get_extension($fil ...