better_seo 0.13.0 → 0.14.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +60 -3
- data/README.md +3 -3
- data/lib/better_seo/version.rb +1 -1
- data/lib/better_seo.rb +4 -0
- metadata +15 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dc1a6c6c25f2dc3616b15df387f07221107b54c40333534637218ceba2988de1
|
|
4
|
+
data.tar.gz: 47d74de790f4e4eae6c817cae3e60bc9e197707d9645712f2446b9cc6929f6d7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: da8e3671910eb851c1a99f9f45d36fc2be629c9058e0960e35b962a652b36f580df02f85bfaf399815afacca577d41e4db50c4b057dcceabab159d1e83057dfa
|
|
7
|
+
data.tar.gz: 2a9de0cf32b76321c1b069a30ea3b3c9c0d62169132594cc8d9597a36e3a45af467f2c2a13df91be16eb13f393a28839c253dbef3e284c604e4bc9203327592c
|
data/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,42 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.14.0] - 2025-01-23
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- SEO Intelligence & Advanced Analytics features
|
|
14
|
+
- **Google Tag Manager** (`BetterSeo::Analytics::GoogleTagManager`)
|
|
15
|
+
- `to_head_script(nonce:)` - Generate GTM head script tag
|
|
16
|
+
- `to_body_noscript` - Generate GTM body noscript fallback
|
|
17
|
+
- `push_data_layer(**data)` - Push custom data to data layer
|
|
18
|
+
- `push_ecommerce(event:, ecommerce:)` - Push e-commerce events
|
|
19
|
+
- `push_user_data(**user_data)` - Push user information
|
|
20
|
+
- Custom data layer name support
|
|
21
|
+
- CSP nonce support for Content Security Policy
|
|
22
|
+
- Complete GTM integration for enterprise analytics
|
|
23
|
+
- **SEO Recommendations Engine** (`BetterSeo::Validators::SeoRecommendations`)
|
|
24
|
+
- `generate_recommendations(validation_result)` - AI-powered SEO suggestions
|
|
25
|
+
- `recommend_title_improvements(title_result)` - Title optimization tips
|
|
26
|
+
- `recommend_description_improvements(desc_result)` - Description enhancements
|
|
27
|
+
- `recommend_heading_improvements(headings_result)` - Heading structure fixes
|
|
28
|
+
- `recommend_image_improvements(images_result)` - Image alt text suggestions
|
|
29
|
+
- `format_recommendations(recommendations)` - Markdown formatted output
|
|
30
|
+
- Priority-based recommendations (high, medium, low)
|
|
31
|
+
- Actionable improvement steps with details
|
|
32
|
+
- Integration with SEO Validator
|
|
33
|
+
|
|
34
|
+
### Enhanced
|
|
35
|
+
- Analytics module expanded with GTM support
|
|
36
|
+
- Validators module enhanced with intelligent recommendations
|
|
37
|
+
- Comprehensive SEO improvement workflow
|
|
38
|
+
|
|
39
|
+
### Test Coverage
|
|
40
|
+
- 899 tests passing (+25 from v0.13.0)
|
|
41
|
+
- 94.3% code coverage (1817/1926 lines)
|
|
42
|
+
- 25 new tests across intelligence features:
|
|
43
|
+
- Google Tag Manager: 11 tests
|
|
44
|
+
- SEO Recommendations: 14 tests
|
|
45
|
+
|
|
10
46
|
## [0.13.0] - 2025-01-23
|
|
11
47
|
|
|
12
48
|
### Added
|
|
@@ -39,12 +75,33 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
39
75
|
- Comprehensive validation rules following SEO best practices
|
|
40
76
|
- Detailed error messages with actionable recommendations
|
|
41
77
|
|
|
78
|
+
- **Image Optimizer** (`BetterSeo::Image::Optimizer`)
|
|
79
|
+
- `validate_format!(path)` - Validate image format (JPEG, PNG, WebP, GIF)
|
|
80
|
+
- `convert_to_webp(source, destination)` - Convert images to WebP format
|
|
81
|
+
- `resize(source, destination, width:, height:)` - Resize images
|
|
82
|
+
- `compress(source, destination)` - Compress images with quality setting
|
|
83
|
+
- `generate_responsive(source, output_dir, sizes:)` - Generate multiple sizes
|
|
84
|
+
- `optimize(source, destination, resize:)` - Complete optimization with statistics
|
|
85
|
+
- Requires ImageMagick and mini_magick gem
|
|
86
|
+
- Quality control (0-100)
|
|
87
|
+
- Optimization statistics (size reduction percentage)
|
|
88
|
+
- **Analytics Integration** (`BetterSeo::Analytics::GoogleAnalytics`)
|
|
89
|
+
- `to_script_tag(nonce:, **config)` - Generate GA4 script tag
|
|
90
|
+
- `track_event(event_name, **parameters)` - Custom event tracking
|
|
91
|
+
- `track_page_view(page_path, title:)` - Page view tracking
|
|
92
|
+
- `ecommerce_purchase(transaction_id:, value:, items:)` - E-commerce tracking
|
|
93
|
+
- Anonymize IP support for GDPR compliance
|
|
94
|
+
- CSP nonce support for Content Security Policy
|
|
95
|
+
- Custom configuration options
|
|
96
|
+
|
|
42
97
|
### Test Coverage
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
98
|
+
- 874 tests passing (+63 from v0.12.0)
|
|
99
|
+
- 94.1% code coverage (1723/1831 lines)
|
|
100
|
+
- 63 new tests across all advanced features:
|
|
46
101
|
- Robots.txt Generator: 25 tests
|
|
47
102
|
- SEO Validator: 22 tests
|
|
103
|
+
- Image Optimizer: 5 tests (+ ImageMagick-dependent)
|
|
104
|
+
- Google Analytics: 11 tests
|
|
48
105
|
|
|
49
106
|
## [0.12.0] - 2025-01-23
|
|
50
107
|
|
data/README.md
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
A comprehensive SEO gem for Ruby and Rails applications. BetterSeo provides a clean, fluent DSL for managing meta tags, Open Graph, Twitter Cards, structured data, sitemaps, and more.
|
|
4
4
|
|
|
5
|
-
[](https://github.com/yourusername/better_seo)
|
|
6
|
+
[](https://github.com/yourusername/better_seo)
|
|
7
7
|
[](https://www.ruby-lang.org)
|
|
8
8
|
[](https://rubyonrails.org)
|
|
9
9
|
|
|
10
10
|
## Features
|
|
11
11
|
|
|
12
|
-
### ✅ Implemented (v0.
|
|
12
|
+
### ✅ Implemented (v0.14.0)
|
|
13
13
|
|
|
14
14
|
- **Core Configuration System**
|
|
15
15
|
- Singleton configuration with block-style setup
|
data/lib/better_seo/version.rb
CHANGED
data/lib/better_seo.rb
CHANGED
|
@@ -18,6 +18,10 @@ require_relative "better_seo/generators/amp_generator"
|
|
|
18
18
|
require_relative "better_seo/generators/canonical_url_manager"
|
|
19
19
|
require_relative "better_seo/generators/robots_txt_generator"
|
|
20
20
|
require_relative "better_seo/validators/seo_validator"
|
|
21
|
+
require_relative "better_seo/validators/seo_recommendations"
|
|
22
|
+
require_relative "better_seo/image/optimizer"
|
|
23
|
+
require_relative "better_seo/analytics/google_analytics"
|
|
24
|
+
require_relative "better_seo/analytics/google_tag_manager"
|
|
21
25
|
require_relative "better_seo/sitemap/url_entry"
|
|
22
26
|
require_relative "better_seo/sitemap/builder"
|
|
23
27
|
require_relative "better_seo/sitemap/generator"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: better_seo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.14.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- alessiobussolari
|
|
@@ -24,6 +24,20 @@ dependencies:
|
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '6.1'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: mini_magick
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '4.11'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '4.11'
|
|
27
41
|
- !ruby/object:Gem::Dependency
|
|
28
42
|
name: rspec
|
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|