seo_optimizer 0.1.0 → 0.1.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.
- checksums.yaml +4 -4
- data/README.md +42 -20
- data/lib/generators/seo_optimizer/fast_config/fast_config_generator.rb +18 -0
- data/lib/generators/seo_optimizer/meta_tags/meta_tags_generator.rb +19 -0
- data/lib/generators/seo_optimizer/meta_tags/templates/default_meta.erb +1 -0
- data/lib/generators/seo_optimizer/meta_tags/templates/meta_tags.erb +19 -0
- data/lib/generators/seo_optimizer/meta_tags/templates/meta_tags_helper.erb +17 -0
- data/lib/generators/seo_optimizer/meta_tags/templates/meta_yml.erb +5 -0
- data/lib/seo_optimizer/version.rb +1 -1
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d77de0d5df420769f467e81c12eca1e6bc814eae796de10f506376b96d738b6
|
4
|
+
data.tar.gz: 40a42a9ef40f670f7fb2d25e35f5c7dea28ff3e855e8a37856f80dd1c94a222e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b7c77c623bbe62d352e4e6e87998b7d596ecfbaedb75fca0b7ee07ccb394e5831da6db6089667417b225ad5c018ffd4d3a5f8600985f4a4f4362b70454347ab2
|
7
|
+
data.tar.gz: 78b8152930779f80e6b734d170823a614d6ef7c65a27d0c488a06453ecd4dd6e4067bb0e5af33fd99980418a1ddfab995e3e79d7a02786e9f868a2a2be1b4fed
|
data/README.md
CHANGED
@@ -20,6 +20,28 @@ Or install it yourself as:
|
|
20
20
|
|
21
21
|
## Usage
|
22
22
|
|
23
|
+
|
24
|
+
#### Global generator
|
25
|
+
|
26
|
+
This command will add setup files of errors pages, sitemap.xml, robots.txt and meta tags.
|
27
|
+
|
28
|
+
```bash
|
29
|
+
$ rails g seo_optimizer:fast_config
|
30
|
+
```
|
31
|
+
______________
|
32
|
+
|
33
|
+
#### Meta tags
|
34
|
+
|
35
|
+
There is a generator to setup meta tags
|
36
|
+
|
37
|
+
```bash
|
38
|
+
$ rails g seo_optimizer:meta_tags
|
39
|
+
```
|
40
|
+
|
41
|
+
This will generate meta tags config that you can customize in `config/meta.yml` and `app/views/layouts/application.html.erb`
|
42
|
+
|
43
|
+
______________
|
44
|
+
|
23
45
|
#### Sitemap.yml, robots.txt
|
24
46
|
|
25
47
|
There is a generator and a task to create needed files that will be read by search engines robots.
|
@@ -57,6 +79,26 @@ Then you can check these urls:
|
|
57
79
|
robots.txt file: http://localhost:3000/robots.txt
|
58
80
|
sitemap.xml file: http://localhost:3000/sitemap.xml
|
59
81
|
|
82
|
+
______________
|
83
|
+
|
84
|
+
#### Error pages (404, 500):
|
85
|
+
|
86
|
+
**1** - Generate error pages view, actions and routes.
|
87
|
+
```bash
|
88
|
+
$ rails g seo_optimizer:errors_pages
|
89
|
+
```
|
90
|
+
|
91
|
+
**2** - You can customize pages in `app/views/errors/`
|
92
|
+
|
93
|
+
**3** - Edit `config/environment/develoment.rb` if you want to test it in dev environment.
|
94
|
+
|
95
|
+
⛔️ DO NOT COMMIT ⛔️
|
96
|
+
|
97
|
+
```ruby
|
98
|
+
config.consider_all_requests_local = true
|
99
|
+
# to
|
100
|
+
config.consider_all_requests_local = false
|
101
|
+
```
|
60
102
|
_________________
|
61
103
|
|
62
104
|
#### Model routes with slug:
|
@@ -124,26 +166,6 @@ end
|
|
124
166
|
|
125
167
|
- Then don't forget to `$ rails sitemap:generate`.
|
126
168
|
|
127
|
-
______________
|
128
|
-
|
129
|
-
#### Error pages (404, 500):
|
130
|
-
|
131
|
-
**1** - Generate error pages view, actions and routes.
|
132
|
-
```bash
|
133
|
-
$ rails g seo_optimizer:errors_pages
|
134
|
-
```
|
135
|
-
|
136
|
-
**2** - You can customize pages in `app/views/errors/`
|
137
|
-
|
138
|
-
**3** - Edit `config/environment/develoment.rb` if you want to test it in dev environment.
|
139
|
-
|
140
|
-
⛔️ DO NOT COMMIT ⛔️
|
141
|
-
|
142
|
-
```ruby
|
143
|
-
config.consider_all_requests_local = true
|
144
|
-
# to
|
145
|
-
config.consider_all_requests_local = false
|
146
|
-
```
|
147
169
|
_________________
|
148
170
|
|
149
171
|
## Development
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rails/generators/migration'
|
4
|
+
|
5
|
+
module SeoOptimizer
|
6
|
+
class FastConfigGenerator < Rails::Generators::Base
|
7
|
+
source_root File.expand_path('templates', __dir__)
|
8
|
+
desc 'Generates base setup file'
|
9
|
+
|
10
|
+
def add_meta_tags
|
11
|
+
generate 'seo_optimizer:meta_tags'
|
12
|
+
generate 'seo_optimizer:error_pages'
|
13
|
+
generate 'seo_optimizer:setups'
|
14
|
+
generate 'seo_optimizer:robots_files'
|
15
|
+
rake 'sitemap:generate'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'rails/generators/migration'
|
4
|
+
|
5
|
+
module SeoOptimizer
|
6
|
+
class MetaTagsGenerator < Rails::Generators::Base
|
7
|
+
source_root File.expand_path('templates', __dir__)
|
8
|
+
desc 'Generates meta tags'
|
9
|
+
|
10
|
+
def add_meta_tags
|
11
|
+
inject_into_file 'app/views/layouts/application.html.erb', after: '<head>' do
|
12
|
+
File.open("#{File.expand_path('templates', __dir__)}/meta_tags.erb").read
|
13
|
+
end
|
14
|
+
template 'meta_tags_helper.erb', File.join('app/helpers', 'meta_tags_helper.rb')
|
15
|
+
template 'default_meta.erb', File.join('config/initializers', 'default_meta.rb')
|
16
|
+
template 'meta_yml.erb', File.join('config', 'meta.yml')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
DEFAULT_META = YAML.load_file(Rails.root.join("config/meta.yml"))
|
@@ -0,0 +1,19 @@
|
|
1
|
+
|
2
|
+
<title><%= meta_title %></title>
|
3
|
+
<meta name="description" content="<%= meta_description %>">
|
4
|
+
|
5
|
+
<!-- Facebook Open Graph data -->
|
6
|
+
<meta property="og:title" content="<%= meta_title %>" />
|
7
|
+
<meta property="og:type" content="website" />
|
8
|
+
<meta property="og:url" content="<%= request.original_url %>" />
|
9
|
+
<meta property="og:image" content="<%= meta_image %>" />
|
10
|
+
<meta property="og:description" content="<%= meta_description %>" />
|
11
|
+
<meta property="og:site_name" content="<%= meta_title %>" />
|
12
|
+
|
13
|
+
<!-- Twitter Card data -->
|
14
|
+
<meta name="twitter:card" content="summary_large_image">
|
15
|
+
<meta name="twitter:site" content="<%= DEFAULT_META["twitter_account"] %>">
|
16
|
+
<meta name="twitter:title" content="<%= meta_title %>">
|
17
|
+
<meta name="twitter:description" content="<%= meta_description %>">
|
18
|
+
<meta name="twitter:creator" content="<%= DEFAULT_META["twitter_account"] %>">
|
19
|
+
<meta name="twitter:image:src" content="<%= meta_image %>">
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module MetaTagsHelper
|
4
|
+
def meta_title
|
5
|
+
content_for?(:meta_title) ? content_for(:meta_title) : DEFAULT_META["meta_title"]
|
6
|
+
end
|
7
|
+
|
8
|
+
def meta_description
|
9
|
+
content_for?(:meta_description) ? content_for(:meta_description) : DEFAULT_META["meta_description"]
|
10
|
+
end
|
11
|
+
|
12
|
+
def meta_image
|
13
|
+
meta_image = (content_for?(:meta_image) ? content_for(:meta_image) : DEFAULT_META["meta_image"])
|
14
|
+
# little twist to make it work equally with an asset or a url
|
15
|
+
meta_image.starts_with?("http") ? meta_image : image_url(meta_image)
|
16
|
+
end
|
17
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: seo_optimizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ronan Louarn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-11-
|
11
|
+
date: 2020-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sitemap_generator
|
@@ -47,6 +47,12 @@ files:
|
|
47
47
|
- lib/generators/seo_optimizer/errors_pages/templates/404.erb
|
48
48
|
- lib/generators/seo_optimizer/errors_pages/templates/500.erb
|
49
49
|
- lib/generators/seo_optimizer/errors_pages/templates/errors_controller_template.erb
|
50
|
+
- lib/generators/seo_optimizer/fast_config/fast_config_generator.rb
|
51
|
+
- lib/generators/seo_optimizer/meta_tags/meta_tags_generator.rb
|
52
|
+
- lib/generators/seo_optimizer/meta_tags/templates/default_meta.erb
|
53
|
+
- lib/generators/seo_optimizer/meta_tags/templates/meta_tags.erb
|
54
|
+
- lib/generators/seo_optimizer/meta_tags/templates/meta_tags_helper.erb
|
55
|
+
- lib/generators/seo_optimizer/meta_tags/templates/meta_yml.erb
|
50
56
|
- lib/generators/seo_optimizer/models/models_generator.rb
|
51
57
|
- lib/generators/seo_optimizer/models/templates/model_template.erb
|
52
58
|
- lib/generators/seo_optimizer/robots_files/robots_files_generator.rb
|