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. Power Bi的优势 特色功能

    Power-BI可以让决策者不再依赖他人,就可及时.准确(没有人为加工,自然是最准确的)的得到各种关键经营数据: Power-BI不仅仅是让报表自动生成,而是完全改变了获取经营数据的方式,它可以直观的 ...

  2. C# WebBrowser控件 模拟登录 抓取数据

    参考博客:C#中的WebBrowser控件的使用 参考博客:C#中利用WebBrowser控件,获得HTML源码 一.问题点: 1.模拟登录后,如果带有嵌套的iframe嵌套,不好读取iframe内容 ...

  3. SVG 参考手册

    1. SVG元素模块 Animation.Module animate animateColor animateTransform animateMotion set mpath 剪裁模块 clipP ...

  4. bootstrap学习之一_bootstrap css

    一.文本相关样式 文本格式(用于块状标签):text-left:向左对齐文本:text-center:居中对齐文本:text-right:向右对齐文本:text-justified;text-nowr ...

  5. 由浅到深讲解C#-LINQ

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...

  6. segger 烧写superboot

    选择友善之臂的superboot ,然后才能运行minitool工具进行下载系统,boot->kernel->root   nand flash 启动方式,minitool烧写 bootl ...

  7. Leetcode: Flatten Nested List Iterator

    Given a nested list of integers, implement an iterator to flatten it. Each element is either an inte ...

  8. 使用sql对数据库进行简单的增删改查

    1.创建表 create table 表名( 列名  列的类型, 列名  列的类型, 列名  列的类型 (注意自后一列不能加‘ ,’) ); 2.修改表 修改表名--> rename 旧表名 t ...

  9. 变形--位移 translate()

    translate()函数可以将元素向指定的方向移动,类似于position中的relative.或以简单的理解为,使用translate()函数,可以把元素从原来的位置移动,而不影响在X.Y轴上的任 ...

  10. Codeforces Round #288 (Div. 2)

    A. Pasha and Pixels     题意就是给一个n*m的矩阵,k次操作,一开始矩阵全白,一次操作可以染黑一个格子,问第几次操作可以使得矩阵中存在一个2*2的黑色矩阵.直接模拟即可 代码: ...