搜索引擎优化高级编程(微软Bing_seo_app面向搜索引擎的优化索引)

优采云 发布时间: 2021-11-06 01:06

  搜索引擎优化高级编程(微软Bing_seo_app面向搜索引擎的优化索引)

  当前版本的 Discuz! Q 不太适合搜索引擎内容索引。当前后端分离的单页程序没有针对搜索引擎进行优化时(可行的优化包括服务端渲染或静态化),搜索引擎目前只能爬到一个默认的前端模板,所以你会看到你的页面由搜索引擎索引,并在默认索引前端模板(如“## Build Setup”)上显示描述元标记中的内容。

  为了让搜索引擎覆盖更多小范麻友圈的内容,从而给网站带来精准的搜索流量,我尝试在Discuz上做一些搜索引擎优化!Q(主要是内容索引覆盖),这里做个介绍。

  我们先来看看优化在各个搜索引擎索引中的效果:

  微软必应搜索:

  

  谷歌搜索:

  

  百度搜索:

  

  原文首发于小范麻友圈。

  我们可以看到,经过优化后,一方面搜索引擎可以更准确地描述每个页面的内容(标题、描述),另一方面可以索引的页面数量大大增加。目前优化才上线几天,微软必应搜索和谷歌的爬虫很快就抓取了大部分页面,而百度的爬虫更新较慢,只更新了一部分(当然,更新速度也和网站的权重有关),不过也可以看到首页的index已经更新到了title和description希望不再是##Build Setup。

  下面介绍优化方法。从 Discuz! Q还未开源,为了避免后续版本更新导致合并代码困难,我这次的优化没有直接在Discuz上改!Q,但是已经创建了一个离散的discuzQ_seo_app。我把代码放在github上开源,如果你有同样的需求,也可以使用:

  优化一下我的这个思路

  这是针对搜索引擎的优化,而不是针对最终用户的优化。代码可以尽量分离,避免耦合过多,可以降低以下两个方面的维护成本(搜索引擎/面向用户)。所以在实现上,我采用了API对接的方式。DiscuzQ_seo_app,一个面向搜索引擎的程序,只依赖Discuz等几个数据API接口!Q 的列表/详细信息,并呈现适合搜索引擎在其后端阅读的页面。在顶级流量分配方面,搜索引擎流量与nginx(识别用户代理)分离,搜索引擎流量被引导到discuzQ_seo_app,正常用户流量被引导到Discuz!问服务。

  如何部署和使用discuzQ_seo_app

  discuzQ_seo_app 也是一个基于laravel的应用,使用的laravel版本依赖于PHP7.3以上。部署和使用有几个步骤:

  下载代码: git clone 将代码目录下的.env.example文件重命名为.env,并将里面的配置更新到你的Discuz!Q站点,其中DISCUZQ_URL是你站点的访问地址,LOGO_URL是一个方形标志,APP_NAME是网站的名字,META_DESCRIPTION是网站的描述,META_KEYWORDS是网站关键词。运行“php artisan key:generate”生成laravel APP_KEY。运行“nohup ./dev_start.sh &”在后台运行laravel的开发模式。成功后本地使用:8000可以访问Discuz搜索引擎版!Q.(也可以根据laravel的php配置使用nginx+php-fpm运行discuzQ_seo_app服务)配置前端nginx,并根据user-agent将搜索引擎流量转发到discuzQ_seo_app服务。比如我的站点的配置如下。如果检测到搜索引擎的用户代理,则返回8000端口的discuzQ_seo_app服务,否则返回Discuz! 81端口的Q服务:

  

location /sitemap.xml {

try_files $uri $uri/;

}

location / {

proxy_set_header Host $host;

proxy_set_header X-Forwarded-For $remote_addr;

if ($http_user_agent ~* "Baiduspider|Bytespider|JikeSpider|YisouSpider|Googlebot|spider|Spider|bingbot|Sitemaps") {

proxy_pass http://127.0.0.1:8000$request_uri;

break;

}

proxy_pass http://127.0.0.1:81$request_uri;

}

  其他运行方式

  我也把这个服务的Dockerfile放到了github上。可以使用docker_build.sh脚本构建docker镜像,然后使用docker_start.sh脚本启动服务。docker镜像收录服务运行所需的nginx+php-fpm依赖,对外提供81端口。其实我网上也用这个方法,discuzQ_seo_app和discuz!Q是两个独立的docker容器,互不影响,前端由nginx转发。

  让搜索引擎索引更快

  你可以制作一个sitemap.xml网站索引文件,通过站长工具(比如必应的站长管理工具,和其他搜索引擎类似)提交给搜索引擎,让搜索引擎更快的抓取你的页面。比如我的sitemap.xml文件: 网上有很多sitemap文件生成工具,比如:。(后续版本discuzQ_seo_app也可以直接支持sitemap.xml生成)

  您还可以在每个页面中嵌入搜索引擎提供的js脚本,在用户访问该页面时自动将页面推送到搜索引擎索引。把脚本放在Discuz的“第三方统计”脚本里!Q后台。该脚本可以在各个搜索引擎的站长管理后台获取。

  如果您在使用过程中有任何疑问或更好的想法,欢迎加我微信:6080901。

  最后:欢迎与本站(小范马友圈)交换链接。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线