如何在大型网站上正确维护HTML内容?

时间:2017-07-11 14:34:00

标签: javascript html css html-head

我正在构建我的第一个网站,并且已经预计了数百页。我使用Host Gator并自行编码。

如果我需要更新我的CDN链接,元标记,Favicon或添加新项目,我不想手动更新100页。

我目前的解决方案是一个JS文件,如下所示:

<div class="row">
  <div class="col pic">
    <img src="https://s-media-cache-ak0.pinimg.com/236x/e1/38/a1/e138a174c33a48931521dcc5639d4a03--happy-pictures-smiley-faces.jpg" alt="">
  </div>
  <div class="col"> Resize the window to decrease it's width. When the text starts wrapping to second line the image starts shrinking</div>
</div>

它包含(添加)我的google字体,bootstrap cdn,site css stylesheet,favicon,jQuery CDN和site .js文件。到我的。

脚本示例:

<head>
     <script src="assets/generateHead.js"></script>
</head>

等。等

这是维护HTML内容的好或最佳做法吗?我应该保留我的site.css和.js文件,并保留meta,cdn和favicon链接吗?

3 个答案:

答案 0 :(得分:0)

简短回答:不,这不是“最佳做法”。 It may even be bad for your SEO(读:人们可能无法找到您的网站,使得没有JS的人数变得没有实际意义。)

这也可能是不必要的。一旦你拥有它们,你有多少次真正改变你的资产名称?作为一名专业开发人员,我认为答案是“很少”,特别是如果您的基于CDN的资产是您要求主要版本(即 - “3.x”)并让图书馆维护者处理次要版本。

如果你正在处理数百个页面,你会想要研究某种形式的模板,因为以任何形式(不仅仅是资产)维护它都会很麻烦。

根据您的托管,您可以访问PHP或Ruby或Python。这些服务器端语言中的每一种都有网站的模板系统,现在是检查它们的好时机。

如果你的托管选项没有,那么也有JavaScript选项。

正如评论中所提到的,Moustache.js是一个很好的选择,可用于多种语言(包括JavaScript,PHP和Ruby),无论您的托管选项是什么,它都是一个不错的选择。< / p>

如果您只是在尝试,您还可以玩HTML Templates,这是新HTML组件标准的一部分。但是,请注意Internet Explorer根本不支持它们。

一旦您选择了模板解决方案,您就可以创建一个模板部分,其中包含您头部的所有内容(或者,根据模板系统,您可以创建容纳该数据的“布局”,以及您网站的核心结构;有关哪条路的信息,请参阅文档。这样,你只需要在事情发生变化时更新一个文件。

然后你也可以从JavaScript文件中提取你的CSS,这样当你的页面加载时你就不会得到一些没有样式的内容(FOUC)(无论如何,无论如何,你都可能想要这样做)你去了。)

答案 1 :(得分:0)

好吧,我肯定不会使用JavaScript,因为这对SEO来说很糟糕。您需要使用服务器端解决方案。其中,我有两个。

第一个是PHP,它允许include 'head.txt'

第二个是SSI(.shtml),它允许<!--#include virtual="head.txt" -->

如果您不知道任何服务器端语言,请使用此语言。它不是最好的语言,但它是迄今为止最容易使用的语言,而您的服务器将支持它。此外,它本质上是一个HTML文件,您可以将扩展名更改为.shtml

请记住,其他语言中可能存在类似的功能和方法,我从伙伴那里得知,asp和asp.NET具有此功能,我只是不知道如何使用它们。

答案 2 :(得分:0)

您已经有答案解释了为什么需要服务器端解决方案。我想提供一个替代解决方案。 你真正需要的是某种脚本语言,以自动完成保持标签中所有链接更新的繁琐工作。这些服务器端解决方案为您提供:一种编程语言(经常提到PHP),它自动组合您的模板(您的所有100个页面上的网站部分相同,例如页眉和页脚以及内部的所有内容) )与你的真实内容。

静态站点生成器为您提供相同但在您自己的计算机上。您手动编写必须在每个页面上重复的html(就像您现在所做的那样)并将其另存为模板。静态站点生成器是在您自己的计算机上运行的脚本。它将您所有的100多个内容页面与模板相结合,并生成100多个完整的html页面,然后您可以将其上传到您的托管服务提供商。

如果您想更新引导程序的favicon或版本,您只需再次运行该脚本,并立即更新100多个页面。

在您自己的计算机上生成网站然后上传它们有一些好处:有些人认为只运行html页面的服务器比运行脚本语言的服务器更快,更不容易受到攻击。

此解决方案也存在一些缺点,主要是每次重新生成所有html页面时都需要重新上载,因为模板中只有一个小的更改。

This article is a good introduction