《HTML 简易速速上手小册》第10章:HTML 的维护与优化(2024 最新版)

news2024/11/18 11:49:13

在这里插入图片描述

文章目录

  • 10.1 网页性能优化
    • 10.1.1 基础知识
    • 10.1.2 案例 1:优化网页图像
    • 10.1.3 案例 2:使用延迟加载优化性能
    • 10.1.4 案例 3:优化 CSS 和 JavaScript 的加载
  • 10.2 SEO 最佳实践
    • 10.2.1 基础知识
    • 10.2.2 案例 1:创建一个 SEO 友好的博客页面
    • 10.2.3 案例 2:为产品页面优化 SEO
    • 10.2.4 案例 3:为本地业务优化 SEO
  • 10.3 HTML 代码的维护与更新
    • 10.3.1 基础知识
    • 10.3.2 案例 1:重构旧的 HTML 页面
    • 10.3.3 案例 2:添加注释和改进代码结构
    • 10.3.4 案例 3:定期审查和更新网站内容

10.1 网页性能优化

10.1.1 基础知识

  • 优化的目标:网页性能优化的目的是减少页面的加载时间,提高用户体验。这涉及到减少文件大小、优化资源加载顺序和减少服务器请求。
  • 图像优化:图像通常是网页上最大的资源。优化图像,比如通过压缩、选择正确的格式和尺寸,可以显著减少加载时间。
  • 减少HTTP请求:每个网页元素(如图片、样式表、脚本)都会产生一个HTTP请求。减少这些请求的数量可以提高网页性能。

10.1.2 案例 1:优化网页图像

我们将创建一个页面,其中包含多个优化过的图像。

<!DOCTYPE html>
<html>
<head>
    <title>图像优化页面</title>
</head>
<body>
    <h1>优化后的图像展示</h1>
    <img src="optimized-image1.jpg" alt="小尺寸图像1">
    <img src="optimized-image2.jpg" alt="小尺寸图像2">
    <img src="optimized-image3.jpg" alt="小尺寸图像3">
</body>
</html>

在这个示例中,假设 optimized-image1.jpg, optimized-image2.jpg, 和 optimized-image3.jpg 是原始图像的压缩版本,使用了更小的尺寸和优化后的格式。

10.1.3 案例 2:使用延迟加载优化性能

在这个案例中,我们将使用延迟加载技术来优化图像和视频的加载。

<!DOCTYPE html>
<html>
<head>
    <title>延迟加载示例</title>
</head>
<body>
    <h1>滚动查看图像</h1>
    <img src="placeholder.jpg" data-src="large-image1.jpg" alt="大尺寸图像1" class="lazy-load">
    <img src="placeholder.jpg" data-src="large-image2.jpg" alt="大尺寸图像2" class="lazy-load">
    <video controls class="lazy-load">
        <source data-src="large-video.mp4" type="video/mp4">
    </video>

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var lazyImages = [].slice.call(document.querySelectorAll("img.lazy-load"));
            var lazyVideos = [].slice.call(document.querySelectorAll("video.lazy-load"));

            if ("IntersectionObserver" in window) {
                let lazyMediaObserver = new IntersectionObserver(function(entries, observer) {
                    entries.forEach(function(entry) {
                        if (entry.isIntersecting) {
                            if (entry.target.tagName === "IMG") {
                                let img = entry.target;
                                img.src = img.dataset.src;
                                img.classList.remove("lazy-load");
                            } else if (entry.target.tagName === "VIDEO") {
                                let video = entry.target;
                                video.children[0].src = video.children[0].dataset.src;
                                video.load();
                            }
                            lazyMediaObserver.unobserve(entry.target);
                        }
                    });
                });

                lazyImages.concat(lazyVideos).forEach(function(lazyMedia) {
                    lazyMediaObserver.observe(lazyMedia);
                });
            }
        });
    </script>
</body>
</html>

10.1.4 案例 3:优化 CSS 和 JavaScript 的加载

这个案例展示如何通过优化HTML结构来提高加载效率,尽管我们不涉及CSS和JavaScript代码本身。

<!DOCTYPE html>
<html>
<head>
    <title>CSS和JavaScript加载优化</title>
    <link rel="stylesheet" href="style.css" media="none" onload="if(media!='all')media='all'">
    <noscript><link rel="stylesheet" href="style.css"></noscript>
</head>
<body>
    <h1>优化后的网页</h1>
    <p>这是一个示例页面。</p>
    <script src="script.js" defer></script>
</body>
</html>

在这些案例中,我们展示了几种不同的方法来优化网页的性能,包括图像优化、延迟加载和优化资源加载顺序。这些技巧可以显著提高网页的加载速度,提升用户体验。

在这里插入图片描述


10.2 SEO 最佳实践

10.2.1 基础知识

  • SEO的重要性:搜索引擎优化(SEO)是确保网站在搜索引擎结果中排名靠前的过程。良好的SEO可以提高网站的可见性,吸引更多访问者。
  • 使用语义化标签:HTML5引入的语义化标签(如<article>, <section>, <header>, <footer>)对提高SEO效果至关重要,因为它们帮助搜索引擎更好地理解网页内容。
  • 元标签和标题的优化<title><meta>标签(特别是描述<meta name="description">)对于搜索引擎了解网页内容非常重要。

10.2.2 案例 1:创建一个 SEO 友好的博客页面

我们将构建一个博客页面,优化其标题、描述和结构,以提高其在搜索引擎中的排名。

<!DOCTYPE html>
<html>
<head>
    <title>我的博客 - 关于Web开发的最新信息</title>
    <meta name="description" content="我的博客提供关于最新Web开发技术和趋势的深入分析和讨论">
</head>
<body>
    <header>
        <h1>我的博客</h1>
    </header>
    <nav>
        <!-- 导航链接 -->
    </nav>
    <main>
        <article>
            <header>
                <h2>HTML5新特性全解</h2>
                <p>发布于2024年1月28日</p>
            </header>
            <section>
                <p>文章内容...</p>
            </section>
        </article>
        <!-- 更多文章 -->
    </main>
    <footer>
        <!-- 页脚信息 -->
    </footer>
</body>
</html>

10.2.3 案例 2:为产品页面优化 SEO

在这个例子中,我们将为一个产品页面进行SEO优化,包括正确的元标签和结构化数据。

<!DOCTYPE html>
<html>
<head>
    <title>XYZ相机 - 高性能摄影</title>
    <meta name="description" content="XYZ相机 - 专业级摄影设备,提供高质量的图像和视频拍摄">
    <!-- 结构化数据 -->
    <script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "Product",
        "name": "XYZ相机",
        "image": "xyz-camera.jpg",
        "description": "专业级摄影设备,提供高质量的图像和视频拍摄",
        "brand": "XYZ",
        "aggregateRating": {
            "@type": "AggregateRating",
            "ratingValue": "4.9",
            "reviewCount": "89"
        }
    }
    </script>
</head>
<body>
    <header>
        <h1>XYZ相机</h1>
    </header>
    <main>
        <section>
            <h2>产品特点</h2>
            <p>描述...</p>
        </section>
        <section>
            <h2>用户评价</h2>
            <!-- 用户评价 -->
        </section>
    </main>
    <footer>
        <!-- 页脚信息 -->
    </footer>
</body>
</html>

10.2.4 案例 3:为本地业务优化 SEO

在这个案例中,我们将为一个本地业务创建一个SEO优化的网页,使用本地关键词和结构化数据。

<!DOCTYPE html>
<html>
<head>
    <title>阳光咖啡馆 - 你在城市中的休息角落</title>
    <meta name="description" content="阳光咖啡馆提供最好的咖啡和甜点,是你在繁忙城市中的完美休息地">
    <script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "CafeOrCoffeeShop",


        "name": "阳光咖啡馆",
        "image": "sunshine-cafe.jpg",
        "address": {
            "@type": "PostalAddress",
            "streetAddress": "123阳光路",
            "addressLocality": "城市",
            "addressRegion": "省份",
            "postalCode": "123456"
        },
        "telephone": "+123456789"
    }
    </script>
</head>
<body>
    <header>
        <h1>阳光咖啡馆</h1>
    </header>
    <main>
        <section>
            <h2>我们的故事</h2>
            <p>描述...</p>
        </section>
        <section>
            <h2>菜单</h2>
            <!-- 菜单项 -->
        </section>
    </main>
    <footer>
        <!-- 页脚信息,包括地址和联系方式 -->
    </footer>
</body>
</html>

通过这些案例,你将学会如何利用HTML的特性来优化网页的SEO,从而提高其在搜索引擎结果中的排名。有效的SEO策略可以显著提高网站的可见性和流量。

在这里插入图片描述


10.3 HTML 代码的维护与更新

10.3.1 基础知识

  • 代码维护的重要性:随着网站的不断发展和技术的更新,定期维护HTML代码变得至关重要。良好维护的代码更易于理解、更新和扩展。
  • 代码组织:逻辑清晰和结构良好的代码可以大大简化维护过程。这包括合理使用注释、保持一致的编码风格和遵循最佳实践。
  • 遵守标准:遵循HTML标准和最佳实践,确保代码的兼容性和有效性。

10.3.2 案例 1:重构旧的 HTML 页面

假设我们有一个使用旧HTML标签和实践编写的页面,我们将对其进行重构,使其符合HTML5标准。

<!DOCTYPE html>
<html>
<head>
    <title>重构的页面</title>
</head>
<body>
    <header>
        <h1>网站标题</h1>
        <nav>
            <!-- 导航链接 -->
        </nav>
    </header>
    <main>
        <article>
            <section>
                <h2>文章标题</h2>
                <p>文章内容...</p>
            </section>
            <!-- 更多文章内容 -->
        </article>
    </main>
    <footer>
        <!-- 页脚内容 -->
    </footer>
</body>
</html>

10.3.3 案例 2:添加注释和改进代码结构

在这个例子中,我们将通过添加注释和改进代码结构来优化一个已有的HTML页面。

<!DOCTYPE html>
<html>
<head>
    <!-- 主页头部信息 -->
    <title>带注释的页面</title>
</head>
<body>
    <!-- 网站头部 -->
    <header>
        <h1>网站标题</h1>
        <!-- 导航栏 -->
        <nav>
            <ul>
                <li><a href="#">首页</a></li>
                <li><a href="#">联系我们</a></li>
            </ul>
        </nav>
    </header>

    <!-- 主要内容区域 -->
    <main>
        <article>
            <!-- 文章标题 -->
            <h2>文章1</h2>
            <!-- 文章内容 -->
            <p>这是文章的内容...</p>
        </article>
        <!-- 更多文章 -->
    </main>

    <!-- 网站页脚 -->
    <footer>
        <p>版权信息</p>
    </footer>
</body>
</html>

10.3.4 案例 3:定期审查和更新网站内容

在这个案例中,我们模拟一个定期审查和更新网站内容的过程。

  1. 审查现有内容:检查所有页面,确定哪些内容过时、哪些内容需要更新。
  2. 更新过时的内容:对过时的信息进行更新,确保所有链接仍然有效,移除不再相关的内容。
  3. 添加新内容:根据最新信息或数据更新网站,例如添加新闻文章或博客帖子。
  4. 测试网站功能:确保所有的表单、导航和交互元素仍然按预期工作。

通过定期进行这些维护步骤,你可以确保网站保持最新状态,提供最佳的用户体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1419383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

伊恩·斯图尔特《改变世界的17个方程》毕达哥拉斯定理笔记

它告诉我们什么&#xff1f; 直角三角形的三个边之间有什么关系。 为什么重要&#xff1f; 它提供了几何和代数之间的重要联系&#xff0c;使我们能够根据坐标计算距离。它也催生出了三角学。 它带来了什么&#xff1f; 测绘、导航&#xff0c;以及较近代出现的狭义和广义相对论…

深入了解Matplotlib中的子图创建方法

深入了解Matplotlib中的子图创建方法 一 add_axes( **kwargs):1.1 函数介绍1.2 示例一 创建第一张子图1.2 示例二 polar参数的运用1.3 示例三 创建多张子图 二 add_subplot(*args, **kwargs):2.1 函数介绍2.2 示例一 三 两种方法的区别3.1 参数形式3.2 布局灵活性3.3 适用场景3…

基于YOLOv8的摄像头吸烟行为检测系统(Python源码+Pyqt6界面+数据集)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文主要内容:详细介绍了摄像头下吸烟行为检测系统&#xff0c;在介绍算法原理的同时&#xff0c;给出Pytorch的源码、训练数据集以及PyQt6的UI界面。在界面中可以选择各种图片、视频进行检测识别&#xff0c;可进行置信度、Iou阈值设定…

【linux】磁盘空间不足-常用排查和处理命令

【linux】磁盘空间不足-常用排查和处理命令 1.通查一下 df -h #查看服务器磁盘空间情况 du -hs * 2>/dev/null #列出各目录所占空间大小 或 du -h -d 1 2>/dev/null #列出各目录所占空间大小 1.1情况一 df 磁盘空间和du 目录空间占用相等&#xff0c…

离线安装nginx_银河麒麟系统_nginx报错_503_500 Internal Server Error----nginx工作笔记007

如果报这个错误,意思就是,对于nginx.conf文件中指定的,文件夹没有权限 那么这个是去给对应的文件夹赋权限: chmod 777 /opt/module/test_web 就可以了,然后再去访问就不会报错了,还有 503的错误都可以这样解决 然后关于离线安装nginx,尝试了一下如果把之前安装过的nginx,直接…

app逆向-frida定位签名校验

文章目录 一、前言二、如何实现签名校验三、案例&#xff1a;定位签名校验 一、前言 当我们说应用签名校验时&#xff0c;实际上是一种安全机制&#xff0c;用于确保移动应用在被安装和运行时没有被篡改或修改。这个机制通过在应用程序文件上附加一种数字签名的方式来实现。 …

2023年算法GWCA -CNN-BiLSTM-ATTENTION回归预测(matlab)

2023年算法GWCA -CNN-BiLSTM-ATTENTION回归预测&#xff08;matlab&#xff09; GWCA -CNN-BiLSTM-Attention长城建造算法优化卷积-长短期记忆神经网络结合注意力机制的数据回归预测 Matlab语言。 长城建造算法&#xff08;Great Wall Construction Algorithm&#xff0c;GWC…

Centos Cron设置定时任务

这本是很简单的问题&#xff0c;但是我服务器重装系统两次&#xff0c;遇到的问题都不一样&#xff0c;所以记录一下 1.首先要确保服务器上有 cron 服务 sudo systemctl status crond2.设置时区 sudo timedatectl set-timezone Asia/Shanghai3.重启crond 服务使crond服务的时…

指针的深入理解(一)

这一节主要复习数组指针&#xff0c;int (* )[ ] 就是数组指针类型的标志。 因为有&#xff08;&#xff09;将*括起来&#xff0c;所以&#xff08;*&#xff09;表示一个指针。[ ] 表示数组&#xff0c;所以&#xff08;*&#xff09;[ ]就表示一个指向数组的指针&#xff…

【C++】I/O多路转接详解(一)

目录 1. 背景引入1.1 IO的过程1.2 五种IO模型1.2.1 阻塞IO1.2.2 非阻塞IO1.2.3 信号驱动IO1.2.4 IO多路转接1.2.5 异步IO 1.3 同步通信 与 异步通信1.4 阻塞 与 非阻塞1.4.1 阻塞与非阻塞区别1.4.2 设置非阻塞IO 2. select2.1 接口使用2.2 select执行过程2.3 select代码实践 3.…

C++ 数论相关题目:卡特兰数应用、快速幂求组合数。满足条件的01序列

给定 n 个 0 和 n 个 1 &#xff0c;它们将按照某种顺序排成长度为 2n 的序列&#xff0c;求它们能排列成的所有序列中&#xff0c;能够满足任意前缀序列中 0 的个数都不少于 1 的个数的序列有多少个。 输出的答案对 1097 取模。 输入格式 共一行&#xff0c;包含整数 n 。 …

开源大规模分布式MQTT消息服务器EMQX部署教程

1.EMQX是什么&#xff1f; EMQX 是一款开源的大规模分布式 MQTT 消息服务器&#xff0c;功能丰富&#xff0c;专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条&#xff0c;单服务器的传输与处理吞吐量可达每秒百万级 MQTT 消息&#xff0c;并…

数据结构----链表介绍、模拟实现链表、链表的使用

文章目录 1. ArrayList存在的问题2. 链表定义2.1 链表的概念及结构2.2 链表的组合类型 3. 链表的实现3.1 单向、不带头、非循环链表的实现3.2 双向、不带头节点、非循环链表的实现 4.LinkedList的使用4.1 什么是LinkedList4.2 LinkedList的使用4.2.1. LinkedList的构造4.2.2. L…

R语言(数据导入,清洗,可视化,特征工程,建模)

记录一下痛失的超级轻松的数据分析实习&#xff08;线上&#xff09;&#xff0c;hr问我有没有相关经历&#xff0c;我说我会用jupyter book进行数据导入&#xff0c;清洗&#xff0c;可视化&#xff0c;特征工程&#xff0c;建模&#xff0c;python学和用的比较多&#xff0c;…

burp靶场--xss上篇【1-15】

burp靶场–xss https://portswigger.net/web-security/cross-site-scripting 1. 什么是xss: 跨站脚本 (XSS) 是一种通常出现在 Web 应用程序中的计算机安全漏洞。XSS 允许攻击者将恶意代码注入网站&#xff0c;然后在访问该网站的任何人的浏览器中执行该代码。这可能允许攻击…

【重磅发布】已开放!模型师入驻、转格式再升级、3D展示框架全新玩法…

1月23日&#xff0c;老子云正式发布全新版本。此次新版本包含多板块功能上线和升级&#xff0c;为用户带来了含模型师入驻、三维格式在线转换升级、模型免费增值权益开放、全新3D展示框架等一系列精彩内容&#xff01; 1月23日&#xff0c;老子云正式发布全新版本。此次新版本…

【开源】基于JAVA语言的班级考勤管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统基础支持模块2.2 班级学生教师支持模块2.3 考勤签到管理2.4 学生请假管理 三、系统设计3.1 功能设计3.1.1 系统基础支持模块3.1.2 班级学生教师档案模块3.1.3 考勤签到管理模块3.1.4 学生请假管理模块 3.2 数据库设…

PyTorch自动微分机制的详细介绍

PyTorch深度学习框架的官方文档确实提供了丰富的信息来阐述其内部自动微分机制。在PyTorch中&#xff0c;张量&#xff08;Tensor&#xff09;和计算图&#xff08;Computation Graph&#xff09;的设计与实现使得整个系统能够支持动态的、高效的自动求导过程。 具体来说&#…

BL808学习日志-3-DPI-RGB屏幕使用-LVGL D0

一、DPI-RGB驱动 BL808的手册上显示是支持RGB565屏幕显示输出的&#xff0c;但是一直没找到网上的使用例程。且官方的SDK显示也是能够使用的&#xff0c;只是缺少了驱动。这一部分驱动在SIPEED的SDK中已经内置了&#xff0c;今天就是简单的点亮一个800*480 RGB565的屏幕。 二、…

第十一篇【传奇开心果系列】BeeWare的Toga开发移动应用示例:Briefcase和Toga 哥俩好

传奇开心果博文系列 系列博文目录BeeWare的Toga开发移动应用示例系列博文目录一、前言二、Briefcase和toga各自的主要功能分别介绍三、使用Toga 开发移动应用Briefcase工具是最佳拍档四、Briefcase搭档Toga创建打包发布联系人移动应用示例代码五、运行测试打包发布六、归纳总结…