SEO基础

SEO基础

Products

当前位置:首页 > SEO基础 >

商务网站开发公司是否违反法规进行网站推广?

96SEO 2026-02-20 00:36 20


商务网站开发公司是否违反法规进行网站推广?

但是优化后APP包体积在iPhone11上仍有350M的空间占用。

与此同时百度APP作为百度的旗舰APP#xff0c;业务迭代非常多…一、前言

百度APP包体积经过一期优化如无用资源清理无用类下线Xcode编译相关优化体积已经有了明显的减少。

但是优化后APP包体积在iPhone11上仍有350M的空间占用。

与此同时百度APP作为百度的旗舰APP业务迭代非常多且迅速体积优化和防劣化仍然是当前阶段的一个核心任务。

因此百度APP开启了粒度更小修复风险更高的无用方法清理相关工作。

期望通过无用方法清理有效降低百度APP的包体积同时删除项目中的无用方法冗余代码提高代码的整洁度。

百度APP

针对无用方法清理调研了各家厂商目前已公布的方案主流方案基于Mach-O

1.准确度低

4.针对string反射调用无法识别Target-Action

注册Observer注册方法等无法识别

5.复杂语法场景下无法识别如继承链中的方法调用子类实现父类方法等场景

因为目前已公布方案存在如上不足同时因为下线代码敏感度非常高相关业务都很慎重。

因此推动相关无用方法清理识别准确度将非常重要直接关系到相关业务下线无用代码的积极性因此弃用了上述方案。

三、方案选择

针对第二部分方案不足之处进行分析可以看到其准确度低的核心问题是针对产物进行分析拿不到所有需要的信息或者说还没有发现有效的手段去获取所期望获得的信息。

而想要解决上面提到的问题最佳途径就是获取到尽可能多的代码信息。

既然从产物回溯不到所需要的那么就可以考虑从源头也就是源码层面找到我们所需要的详细信息。

需要匹配源码的所有语法规则才能够针对源码进行有效的分析相当于写一个源码解析器所以这个方案放弃

编译过程中产生的抽象语法树AST包含了需要的所有信息并且clang也提供了命令行使用该命令行能够直接获取到AST数据。

但是clang

命令获取AST数据是以单个类为维度的类与类之间的关系很难获取到如继承关系分类和主类的关系是无法获取的所以这个方案同样放弃

Swift

既然通过clang命令生成的AST产物分析仍然不能满足需求那么直接介入编译过程从编译内部生成AST过程中获取需要的信息最终这个方案被采用。

通过libtooling

Swift

Compiler自建编译套件针对AST进行分析获取所需要的所有信息。

四、方案设计

Design分别是编译前端Frontend编译优化模块编译器后端Backend。

那么这三段结构如何对应到Xcode呢如图4-2所示

4-2

日常使用Xcode编译时Xcode调用了两个编译器前端分别为Clang

Swift通过两个编译器前端构建出通用的编译产物然后统一经过LLVM后端编译器进行目标文件生成。

通过Xcode的编译log可以看到针对Objective-CC

使用了clang进行编译针对上述三种不同语言分别用不同编译参数控制

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang针对swift

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-frontend针对这两个可执行文件大家可以自行解包Xcode进行命令行调用也可以通过其

Swift

Transformations当然SIL部分不是重点。

从图4-3中可以看到Clang

Swift

4.开源版本LLVM和Xcode实际使用版本具有一定差异性因此部分编译相关内容需要进行相关适配

4-3

针对一门程序语言的使用而言如图4-4所示包含两个层面一个层面是声明另一个层面是调用。

声明类协议属性方法函数等等同时声明的内容是为了被使用所以同样声明的内容皆可调用只不过是内部调用还是公开调用问题。

从技术角度而言声明的所有内容

无用方法。

当然技术层面的判别最终还是要进行业务判定因为有的属于基础能力对外提供至于是否要删除则需要进一步探讨。

本文主要探讨技术层面问题。

4-4

从clang源码中可以知道声明和调用分别对应LLVM源码中的基类Decl

Expr整体技术方案如下图

2.Transformer层针对语法规则匹配数据进行转换转换通用型数据格式

3.通用数据层通过Transformer层产出的数据进行分类存储所存储数据包含了代码的所有数据如针对属性方法协议等数据均进行了分类存储

4-5

编译工具的呈现形式是一个类似Xcode自带clang的可执行文件如图4-6

/Users/UserName/Documents/XcodeEdition/Xcode14.2/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang△图

4-6

的部分功能利用其编译过程中产生的AST对象进行抽象语法树分析获取到所需要的编程语言的所有语法信息。

4.3.1.1

编译工具的搭建需要依赖LLVM提供的静态库或动态库这些库通过自己构建LLVM源码来获得。

可以从github获取LLVM源码路径进入LLVM

github界面后有可能会困惑需要构建哪个分支或者tag的代码呢哪个版本和Xcode使用的clang是对应的目前Xcode的版本是

14.2

14因此构建了release/14.x没有找到对应关系推理得出构建成功后执行构建的clang

--version

clang支持的部分参数开源clang是不支持的。

尽管苹果有一些定制但是总体影响有限。

因此也不必过于在意小版本号是否一致。

初步验证了一下构建最新的release/16.x

clang16

构建方式一个是Xcode方式需要Xcode调试源码可以选择Xcode模式但是最终集成到编译工具中的静态库一定要构建成Release模式这样工具体积会降到最低一些警告类异常也会被屏蔽掉。

可以参照LLVM

guide

构建过程进行构建其中涉及的组装命令可以自行拼接也可以用下面的命令

git

https://github.com/llvm/llvm-project.git

llvm-project

这个build文件夹可以自行命名不固定。

针对不同目标可以创建不同文件夹进行不同构建如

mkdir

identifier:objc(协议or类)类名(类方法or实例方法)方法名称,

isInstance:true,

}{declaration:{identifier:objc(协议or类)类名(类方法or实例方法)方法名称,isInstance:true,kind:16,location:{

line:行数

},name:方法名称,paramters:参数名称,returnType:返回值类型,sourceCode:源代码

},kind:1,location:{col:5,filename:当前所在文件名,line:15

属性调用识别问题

ivar所以当只发生一种调用时就算这个属性被调用当前属性不属于无用方法。

需要在结果中把另外两个方法剥离。

提取方法内容时同样需要对头文件进行提取

实现一些方法在语法上也是可行的。

所以进行方法提取时候关注实现文件同时也要关注头文件。

针对继承问题

子类实现父类方法等场景在识别方法时全部回溯其父类以其父类名称作为

上文数据结构中

针对协议方法的实现目前还没有有效手段识别当前方案是直接过滤掉协议方法所有协议方法均视为已经调用

在提取方法时判断当前interface

遵循了哪些协议遍历协议中的方法判断其是否为协议方法是则标记为已调用。

子类实现父类协议问题

回溯当前类的继承链条在继承链条中判断遍历其所遵循的协议判断其是否为协议方法。

interface

但是实际场景中有很多代码在实现协议时并没有标注conformprotocol

如果组件中少量这种问题当推动相关方修复此问题需要明确遵循协议。

但是如果有的组件这种场景较多短期不会修复所有那么就需要进行临时性适配。

针对这类组件收集其当前组件所声明的协议的所有协议方法用收集的协议方法和当前组件提取的所有声明做差集存在误伤的可能但结果是置信的组件只是一个维度也可以针对其关联组件进行相关处理因为有时他实现的组件不一定在当前组件内这就需要当前组件的依赖关系了。

六、总结

这项技术实际上在百度APP早已经应用因为笔者之前负责百度APP的接口变更审核组件完整性校验隐私合规调用链分析等均是依赖于此项技术无用方法识别只是笔者在做体积优化时想到的其功能的一个延展。

当然如上描述的技术问题细节处理无用方法显然更细腻case更多。

后续文章会针对Swift无用方法分析接口变更审核组件完整性校验隐私合规调用链分析等一一作出介绍。

——END——**

[1]libclanghttps://clang.llvm.org/doxygen/group__CINDEX.html

[2]libtooling

官方文档https://clang.llvm.org/docs/LibTooling.html

[3]LLVM源码https://github.com/llvm/llvm-project

推荐阅读



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback