geo-ai-search-optimization 2.8.0 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/action.yml +1 -1
- package/package.json +1 -1
- package/src/batch-full-page-audit.js +4 -1
- package/src/compare.js +4 -2
- package/src/csv-export.js +4 -3
- package/src/dashboard-html.js +1 -1
- package/src/deep-benchmark.js +4 -2
- package/src/fetch-utils.js +1 -1
- package/src/pdf-report.js +1 -1
package/README.md
CHANGED
|
@@ -298,7 +298,7 @@ Full TypeScript declarations included (`index.d.ts`) — 300+ exports with IDE a
|
|
|
298
298
|
## GitHub Action
|
|
299
299
|
|
|
300
300
|
```yaml
|
|
301
|
-
- uses: redredchen01/geo-ai-search-optimization@v2.8.
|
|
301
|
+
- uses: redredchen01/geo-ai-search-optimization@v2.8.1
|
|
302
302
|
with:
|
|
303
303
|
project-path: ./your-project
|
|
304
304
|
min-score: 60
|
package/action.yml
CHANGED
package/package.json
CHANGED
|
@@ -106,7 +106,10 @@ export function renderBatchFullPageAuditMarkdown(report) {
|
|
|
106
106
|
readability: "Readability", headingStructure: "Heading Structure",
|
|
107
107
|
internalLinks: "Internal Links", socialMeta: "Social Meta",
|
|
108
108
|
platformReady: "Platform Readiness", schema: "Schema",
|
|
109
|
-
freshness: "Freshness",
|
|
109
|
+
freshness: "Freshness", contentFreshness: "Content Freshness",
|
|
110
|
+
security: "Security", topics: "Topics",
|
|
111
|
+
accessibility: "Accessibility", performance: "Performance",
|
|
112
|
+
imageAudit: "Image Audit", linkQuality: "Link Quality"
|
|
110
113
|
};
|
|
111
114
|
|
|
112
115
|
for (const [key, avg] of Object.entries(report.dimensionAverages)) {
|
package/src/compare.js
CHANGED
|
@@ -2,7 +2,7 @@ import { writeScanOutput } from "./scan.js";
|
|
|
2
2
|
import { fullPageAudit } from "./full-page-audit.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Compare two pages across all
|
|
5
|
+
* Compare two pages across all 17 dimensions.
|
|
6
6
|
* Produces a side-by-side analysis with delta scoring.
|
|
7
7
|
*/
|
|
8
8
|
|
|
@@ -117,7 +117,9 @@ export function renderCompareMarkdown(report) {
|
|
|
117
117
|
base: "Base", citability: "Citability", eeat: "E-E-A-T", readability: "Readability",
|
|
118
118
|
headingStructure: "Headings", internalLinks: "Links", socialMeta: "Social",
|
|
119
119
|
platformReady: "Platforms", schema: "Schema", freshness: "Freshness",
|
|
120
|
-
security: "Security", topics: "Topics"
|
|
120
|
+
contentFreshness: "Content Freshness", security: "Security", topics: "Topics",
|
|
121
|
+
accessibility: "Accessibility", performance: "Performance",
|
|
122
|
+
imageAudit: "Image Audit", linkQuality: "Link Quality"
|
|
121
123
|
};
|
|
122
124
|
|
|
123
125
|
lines.push(
|
package/src/csv-export.js
CHANGED
|
@@ -22,9 +22,10 @@ export function fullPageAuditToCsv(report) {
|
|
|
22
22
|
const rows = [toCsvRow(["Dimension", "Score", "Label", "Weight"])];
|
|
23
23
|
|
|
24
24
|
const weights = {
|
|
25
|
-
base:
|
|
26
|
-
|
|
27
|
-
freshness:
|
|
25
|
+
base: 12, citability: 10, eeat: 10, readability: 6, headingStructure: 5,
|
|
26
|
+
socialMeta: 4, internalLinks: 4, platformReady: 6, schema: 5,
|
|
27
|
+
freshness: 3, contentFreshness: 3, security: 6, topics: 5,
|
|
28
|
+
accessibility: 5, performance: 5, imageAudit: 5, linkQuality: 6
|
|
28
29
|
};
|
|
29
30
|
|
|
30
31
|
for (const [dim, data] of Object.entries(report.dimensions || {})) {
|
package/src/dashboard-html.js
CHANGED
|
@@ -232,7 +232,7 @@ function buildHtml(report, options = {}) {
|
|
|
232
232
|
: ""
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
-
<footer>Generated by geo-ai-search-optimization v2.8.
|
|
235
|
+
<footer>Generated by geo-ai-search-optimization v2.8.1 — ${escapeHtml(timestamp)}</footer>
|
|
236
236
|
</div>
|
|
237
237
|
</body>
|
|
238
238
|
</html>`;
|
package/src/deep-benchmark.js
CHANGED
|
@@ -2,7 +2,7 @@ import { writeScanOutput } from "./scan.js";
|
|
|
2
2
|
import { fullPageAudit } from "./full-page-audit.js";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* Deep benchmark: full
|
|
5
|
+
* Deep benchmark: full 17-dimension comparison against N competitors.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
async function auditSafe(url, options) {
|
|
@@ -155,7 +155,9 @@ const DIM_LABELS = {
|
|
|
155
155
|
base: "Base", citability: "Citability", eeat: "E-E-A-T", readability: "Readability",
|
|
156
156
|
headingStructure: "Headings", internalLinks: "Links", socialMeta: "Social",
|
|
157
157
|
platformReady: "Platforms", schema: "Schema", freshness: "Freshness",
|
|
158
|
-
security: "Security", topics: "Topics"
|
|
158
|
+
contentFreshness: "Content Freshness", security: "Security", topics: "Topics",
|
|
159
|
+
accessibility: "Accessibility", performance: "Performance",
|
|
160
|
+
imageAudit: "Image Audit", linkQuality: "Link Quality"
|
|
159
161
|
};
|
|
160
162
|
|
|
161
163
|
export function renderDeepBenchmarkMarkdown(report) {
|
package/src/fetch-utils.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
const DEFAULT_TIMEOUT = 10_000;
|
|
6
6
|
const DEFAULT_RETRIES = 2;
|
|
7
7
|
const DEFAULT_RETRY_DELAY = 1000;
|
|
8
|
-
const USER_AGENT = "geo-ai-search-optimization/2.8.
|
|
8
|
+
const USER_AGENT = "geo-ai-search-optimization/2.8.1";
|
|
9
9
|
|
|
10
10
|
export async function fetchWithRetry(url, options = {}) {
|
|
11
11
|
const timeout = options.timeout || DEFAULT_TIMEOUT;
|
package/src/pdf-report.js
CHANGED
|
@@ -184,7 +184,7 @@ export function generatePdfHtml(data, options = {}) {
|
|
|
184
184
|
${body}
|
|
185
185
|
|
|
186
186
|
<div class="footer">
|
|
187
|
-
Generated by geo-ai-search-optimization v2.8.
|
|
187
|
+
Generated by geo-ai-search-optimization v2.8.1 — Open-source GEO toolkit for AI search optimization.
|
|
188
188
|
<br>Print this page to PDF for a polished report.
|
|
189
189
|
</div>
|
|
190
190
|
</body>
|