84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
整个网站有很多页面,但是模板里面只有一个<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,现在有没有进步就不得而知了,你可以弄几个页面试试