Heim > Artikel > Backend-Entwicklung > laravel做的网站需不需要进行页面静态化?
laravel里面的文件都是blade.php,需不需要转换为html,更有利于蜘蛛收录?
laravel里面的文件都是blade.php,需不需要转换为html,更有利于蜘蛛收录?
现在的蜘蛛,哪怕是百度那种烂逼,也不太可能蠢到见到.html
就特别优待的地步。
而页面是否经过静态化,蜘蛛本身是无法推断的。所以静态化与否对收录没什么影响。
你真正需要保证的是URL和HTML都要持久不变,不要让蜘蛛产生“文章在频繁更新骗收录”这样的误判。
具体而言手段很复杂,以下是几点参考:
永久链接从一开始就要规划好,尽你最大的努力保持不变,除非不变会死。
如果变了,一定要旧链接301到新链接,并且在中标注好
<link rel="canonical">
引导搜索引擎。绝对不能新旧链接都是HTTP 200。
利用HTML5的语义化标签,标清正文和辅助内容(边栏、广告、导航等)区域,引导搜索引擎识别正文。例如:<article></article>
, <aside></aside>
, <nav></nav>
, <header></header>
, <footer></footer>
等。
点击数、评论数、广告、排行榜等易变的区域,考虑使用JS动态加载之类的手段实现,从而保证同一篇文章正文不变时,HTML内容输出也不变。
blade再轻量也还是动态渲染,相比原生php都没什么可优越的,更不用提和静态化比。
静态化是缓存的最彻底形式,缓存重建的麻烦最大。所以请考虑以下原则:
计划即瞎猜。做缓存必须从实务需求出发,如何优化绝对不能空想或瞎蒙。
过早优化是万恶之源。功能正常是第一位的,不要没开发出来就想缓存。
无测量,不优化。优化必须首先打在实测发现的性能瓶颈上。
和以下具体参考意见:
缓存要渐进的上,不要直接一推到底。
具体来说,先用内建的Cache服务,对准最频繁请求数据库的点,只缓存数据部分。页面渲染保持Blade不变。
如果仍不够缓解,再考虑全页面内容缓存,但路由仍然使用内建的Route服务。
这时候再不行再考虑静态化。