实现对图片seo的方法

所属分类: 网站运营 / 网站优化 阅读数: 60
收藏 0 赞 0 分享

本文实现图片使用的src为本站域名能访问到的地址;这个地址是虚拟的,而不是在这个位置确实有一张图(虽然访问它确实能看到图,这里使用了远程图片抓取技术,但并没有保存在本地),这样就节省了本站的存储空间,这是本程序最大的亮点;更为突出的是,为了满足seo需求,img标签的src和alt属性都以所在文章的别名作为关键字,可以说将这一部分做到极致,而且这一切都是自动化的。我想这一功能的需求量不一定很多,而在国内可能还是第一粒。

首先,我们创建一个数据库表来保管我们的图片信息,以及对应的src。


复制代码
代码如下:

$sql = "CREATE TABLE IF NOT EXISTS `{$wpdb->prefix}seo_image`(
`ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`image_name` char(250) NOT NULL,
`image_type` text NOT NULL,
`image_src` longtext NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;";
$wpdb->query($sql);

这个数据表是用来保存所有我们要进行处理的图片。(注意,有这么几种图片是我们不需要处理的:本站的图片,非http地址访问的图片)

其次,我们需要有一些和数据库打交道的函数,这由我们自己去撰写。这些函数用来完成我们所要处理的插入、查询、修改、删除等操作。

接着,我们需要一个图片处理函数image($src),这个函数的功能是将图片的原地址进行转换,输出为一个经过SEO化的地址,且又能被访问。我在我的程序中如此进行处理:


复制代码
代码如下:

function image($src){
global $slipForImg;
if(strpos($src,'http') !== 0)return $src;
if(strpos($src,'http') === 0 && strpos($src,get_bloginfo('url')) === 0)return $src;
$imageinfo = pathinfo($src);
$image_ext = $imageinfo['extension'];
if(
strpos($image_ext,'jpg') !== 0
&& strpos($image_ext,'jpeg') !== 0
&& strpos($image_ext,'gif') !== 0
&& strpos($image_ext,'png') !== 0
)return $src;
$image = create_image($src);
return get_bloginfo('url')."/{$slipForImg}/".$image->image_name.'.'.$image->ID.'.'.$image->image_type;
}

上述的函数中存在一个create_image()函数,即前一个步骤中提到的和数据库打交道的函数。而我还创造了另一个函数img($src)=function(){echo image($src);}用来打印SEO化的地址。如果我们需要在主题中使用某一张图片,我们就可以使用下面的代码来做到:


复制代码
代码如下:

<img src="<?php img('https://www.jb51.net/test.jpg'); ?>" />

当然,在上述的代码中还是存在我所说的和数据库打交道的函数。不过关键的在于修改the_content等中的img[src]值,同时我还进行了alt的修改,以让图片实现alt的SEO效果。

最后,我们需要真的能使用这些虚拟的图片地址把图片打印出来,我们先通过判断$_SERVER["REQUEST_URI"]来了解当前的地址是不是我们准备好的虚拟地址。这里有一个小技巧,在一般的虚拟主机中,如果开启了重写功能,URI如果不存在,就会使用index.php模板,如果在BAE等云平台上,就比较麻烦了,因为它们不支持这种URI段(主要指带文件名后缀的段,如.jpg结尾),所以没有办法,我们需要加一个?来帮助,即第一个段为?img,而非img。这样一来,/?img/my-test.jpg就可以被用作一张图片的访问地址了。

可是地址虽然可以被访问,如何使这个访问地址指向一张图片呢?或许你会以为要修改.htaccess或其他重定向方法,而我却想到了php的header()函数,因此选择了使用header("Content-type: image/jpeg");来输出一张图片。这一点点破之后就好办了,你可以查询imagejpeg这个函数来了解如何在一个php网页中打印一张图片。但是需要注意的是,似乎也会存在例外,我在打印png图片的时候始终无法打印出来,迫不得已的情况下使用了下面这段代码。


复制代码
代码如下:

header("Content-Type: image/png");
echo file_get_contents($src);

这虽然不严格,却真的能够打印出一张图片来。

更多精彩内容其他人还在看

快速更新网站内容的几种方法

自从有了CMS现在做个网站是件非常简单的事,网站的运作的中心是日常的网站内容更新和长期网站推广。其中网站内容的快速更新是重中之重,今天笔者来分享一下快速更新网站内容的几种方法。希望能为站长们更新网站内容提供一些帮助。 1、内容采集 内容采集是最直接的方法,采
收藏 0 赞 0 分享

Google给广大网站的搜索引擎优化(SEO)建议

为了把Google中文搜索本土化Google官方也确实做了大量的工作,其中在(网站管理员/站长)这块文章丰富了不少,作为营销爱好者笔者经常关注拜读之余也摘录一些自认为比较有价值的内容供大家参考。今天和大家分享的是:Google给广大网站的搜索引擎优化(SEO)建议。文章内容如下
收藏 0 赞 0 分享

创建一个方便Google处理的网站的详细建议

这又是一篇来自Google的文章,再继续发下去很多朋友会问我为什么又转搜索引擎的东西了。其实个人认为Google网站管理员/站长帮助里头还是很多精华的,例如:今天将要转载的这个(创建一个方便Google处理的网站的详细建议)就写得非常好。废话不多说了,下面来分享下创建一个方
收藏 0 赞 0 分享

排除法解决网站在搜索过程中表现不佳的现象

搜索引擎排名机制异常的复杂和严密,直接导致很多网站内容发布出来在搜索引擎的搜索结果表现不佳的现象,种现象一直困扰着很多站长。今天笔者给大家介绍一种比较有效的解决方法:排除法解决网站在搜索过程中表现不佳的现象。 这个排除法的步骤如下: 一、查看您的网站是否被
收藏 0 赞 0 分享

百度 google分别喜欢什么样的友情链接

友情链接对搜索引擎的重要性我就不说了,你去看下只要是做优化的网站几乎都是有友情链接。我发现一些做seo的公司,给客户优化网站的时候纯属就是靠友情链接,雇专门的友情链接专员来进行优化。但是这样做你真的有效果吗,我看到过一些网站,页面上几乎三分之一的页面是友情链
收藏 0 赞 0 分享

浅析网站首页的广告形式

一般而言,由于互联网用户在刚登录某网站时,会看到各种各样的广告。这些广告杂乱无章,因此,大多数的标语用户很容易看过就忘。行为追踪就是防止这种情况发生的方法之一,从而使得广告与用户的生活和目前的精神状态相关的机率更大。或者,您也可以采取不那么敏感的方式使广
收藏 0 赞 0 分享

友情连接与SEO的关系

外连的多少是SE判断一个网站质量的好坏的最基本的标准,谷歌的PR值,百度的超连分析技术等都是以连接网页的数量的多少来决定一个网页的质量的。相对,网站做友情连接,也是以这点为出发点的。但是,友情连接质量的高低往往会起到影响网站排名的关键性作用。因次,我们必须在
收藏 0 赞 0 分享

一个网站的好坏是网民说了算还是PR说了算

大概每一季度的PR更新,都能在站长界引起一阵不大不小的地震,谷歌在2009年端午节这一天,更新了其旗下品牌的PR值,让很多站长觉得这是谷歌在中国的传统节日端午送上的大礼。 谷歌也真够有心的了,偏偏在端午那一天与大家“意思意思”,PR值,对于广大的站长确
收藏 0 赞 0 分享

网站成功的必备条件分析小结

托尔斯泰有句名言:“幸福的家庭都是相似的,不幸的家庭各有各的不幸”。引申到建站方面,即“成功的网站都是相似的,失意的网站各有各的不幸”。 那么,网站的成功,都有哪些相似之处呢?网站成功需要哪些重要因素呢? 有人会说技术最重要
收藏 0 赞 0 分享

网站运营推广中的内容策略浅谈

一、提升流量的内容策略 提升流量(PV)的关键是什么呢?很简单,让用户大量点击网站的页面,阅读网站的内容。浏览的页面多了,流量自然就上去了。那如何才能增加用户的点击行为呢? 1、根据用户喜好,增加相应的文章数量。注意,这里说的文章,是指用户喜欢的内容。 2
收藏 0 赞 0 分享
查看更多