整个网站有很多页面,但是模板里面只有一个<head></head>,不同页面的title是不一样的。我目前的做法是根据不同的url用js来动态更改对应的title,不知道这种方式对SEO有影响吗?有其他更好的实现方式吗?谢谢!
认证高级PHP讲师
爬虫检索网页时一般不会执行JS代码,所以你的title等于没有被替换,这样会影响SEO的效果,建议还是在直接输出html时设置好title,或者对爬虫进行一些优化。
title
html
建议做后段渲染,用后台的模版吐title,这样爬虫抓取的时候就没有什么问题了
我们也是用的velocity模版:部分代码:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <title>$title</title> <meta name="keywords" content="$!keywords"> <meta name="description" content="$!description"> <meta name="baidu-site-verification" content="rO1Bqg66kn" />
title作为变量。
然后在每个controll里面添加这个变量:
@LoginConfirm @RequestMapping(value = "agent") @ActionAround(是否需要设置模板url控制 = true) public ModelAndView showAgent(HttpServletRequest req, HttpServletResponse resp, ModelMap modelMap) { ModelAndView view = new ModelAndView(); view.setViewName("template"); view.addObject("title", "这里是你的title"); return view; }
用的angularJS 动态改title,感觉用了angularJS 的话SEO完全不好
几年前百度官方文档的说法是无法理解js生成的内容,也不会去抓取,但是百度一直在努力理解js,现在有没有进步就不得而知了,你可以弄几个页面试试
爬虫检索网页时一般不会执行JS代码,所以你的
title
等于没有被替换,这样会影响SEO的效果,建议还是在直接输出html
时设置好title
,或者对爬虫进行一些优化。建议做后段渲染,用后台的模版吐title,这样爬虫抓取的时候就没有什么问题了
我们也是用的velocity模版:
部分代码:
title作为变量。
然后在每个controll里面添加这个变量:
用的angularJS 动态改title,感觉用了angularJS 的话SEO完全不好
几年前百度官方文档的说法是无法理解js生成的内容,也不会去抓取,但是百度一直在努力理解js,现在有没有进步就不得而知了,你可以弄几个页面试试