PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.3
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.3
16.3 16.3-beta 16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 All 508 releases
jetpack / jetpack_vendor / automattic / jetpack-my-jetpack / src / class-main-features.php

class-main-features.php in Jetpack – WP Security, Backup, Speed, & Growth 16.3-a.3, at jetpack_vendor/automattic/jetpack-my-jetpack/src/class-main-features.php

376 lines 21.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Static catalog of the main Jetpack features.
4 *
5 * @package automattic/my-jetpack
6 */
7
8 namespace Automattic\Jetpack\My_Jetpack;
9
10 /**
11 * Describes the main Jetpack features: their copy, links and how a site owner gets each one.
12 */
13 class Main_Features {
14
15 /**
16 * The static feature catalog.
17 *
18 * Keys are feature slugs. `product` names the My Jetpack product behind a feature;
19 * features without one carry `admin_page` instead, plus `module` when a Jetpack module
20 * governs them. `essential` marks a feature every site should run. `icon` is a short
21 * icon key such as `shield`, and `interstitial` a My Jetpack route from `_inc/constants.ts`.
22 * `image`, `info_url` and `docs_url` point at the feature's own public pages.
23 *
24 * How a site owner gets a feature: `delivery.in_jetpack` says the Jetpack plugin ships it,
25 * `delivery.standalone` and `delivery.standalone_url` name a separate plugin that does and
26 * its WordPress.org page, and `delivery.free` says it can be used without paying.
27 * `paid_highlights` lists what paying adds, `paid_product` names what to buy, and `plans`
28 * lists the bundles that include it.
29 *
30 * @return array<string, array<string, mixed>> Feature definitions keyed by feature slug.
31 */
32 public static function get_feature_definitions() {
33 return array(
34 'activity-log' => array(
35 'info_url' => 'https://jetpack.com/security/activity-log/',
36 'docs_url' => 'https://jetpack.com/support/activity-log/',
37 'image' => 'https://jetpack.com/wp-content/uploads/2020/05/421d9-95c1d-jetpack-activity-log-ui.png',
38 'name' => __( 'Activity Log', 'jetpack-my-jetpack' ),
39 'description' => __( 'See what changed on your site, when it happened, and who did it.', 'jetpack-my-jetpack' ),
40 'long_description' => __( 'When something breaks, see exactly what changed and who changed it, from published posts to plugin updates and logins. Every connected site gets its 20 most recent events for free.', 'jetpack-my-jetpack' ),
41 'icon' => 'list',
42 'admin_page' => 'jetpack-activity-log',
43 'paid_highlights' => array(
44 __( '30 days of history with VaultPress Backup or Jetpack Security, a full year with Jetpack Complete', 'jetpack-my-jetpack' ),
45 __( 'Filter events by activity type and date range', 'jetpack-my-jetpack' ),
46 ),
47 'delivery' => array(
48 'in_jetpack' => true,
49 'free' => true,
50 ),
51 'plans' => array( 'security', 'complete' ),
52 'paid_product' => __( 'Jetpack VaultPress Backup', 'jetpack-my-jetpack' ),
53 ),
54 'anti-spam' => array(
55 'info_url' => 'https://akismet.com/',
56 'docs_url' => 'https://akismet.com/support/',
57 'image' => 'https://akismet.com/wp-content/uploads/2023/04/social-media.png',
58 'name' => __( 'Akismet Anti-spam', 'jetpack-my-jetpack' ),
59 'description' => __( 'Stop comment and form spam without making visitors solve CAPTCHAs.', 'jetpack-my-jetpack' ),
60 'long_description' => __( 'Akismet filters spam out of your comments and form submissions in the background, so you stop moderating junk and visitors never have to prove they are human. When it gets one wrong, mark it and Akismet learns from your correction.', 'jetpack-my-jetpack' ),
61 'icon' => 'comment',
62 'product' => 'anti-spam',
63 'interstitial' => '/add-akismet',
64 'paid_highlights' => array(
65 __( 'Use it on business and commercial sites', 'jetpack-my-jetpack' ),
66 __( 'Advanced stats and diagnostics for your spam activity', 'jetpack-my-jetpack' ),
67 __( 'Email support', 'jetpack-my-jetpack' ),
68 ),
69 'delivery' => array(
70 'in_jetpack' => false,
71 'standalone' => __( 'Akismet Anti-spam', 'jetpack-my-jetpack' ),
72 'standalone_url' => 'https://wordpress.org/plugins/akismet/',
73 'free' => true,
74 ),
75 'plans' => array( 'security', 'complete' ),
76 'paid_product' => __( 'Jetpack Akismet Anti-spam', 'jetpack-my-jetpack' ),
77 ),
78 'backup' => array(
79 'info_url' => 'https://jetpack.com/backup/',
80 'docs_url' => 'https://jetpack.com/support/backup/',
81 'image' => 'https://jetpack.com/wp-content/uploads/2024/01/24358-46709-backup-restore-card.jpg',
82 'name' => __( 'VaultPress Backup', 'jetpack-my-jetpack' ),
83 'description' => __( 'Get your site back online in one click if anything goes wrong.', 'jetpack-my-jetpack' ),
84 'long_description' => __( 'Every change you make is saved off-site as it happens, so your content and WooCommerce orders stay safe even if your host goes down. Restore your site in one click, even when it is offline.', 'jetpack-my-jetpack' ),
85 'icon' => 'backup',
86 'product' => 'backup',
87 'interstitial' => '/add-backup',
88 'paid_highlights' => array(
89 __( 'Real-time backups of your files, database and WooCommerce orders', 'jetpack-my-jetpack' ),
90 __( 'One-click restores, even from the Jetpack mobile app', 'jetpack-my-jetpack' ),
91 __( 'Move your site to any host without a developer', 'jetpack-my-jetpack' ),
92 ),
93 'delivery' => array(
94 'in_jetpack' => true,
95 'standalone' => __( 'Jetpack VaultPress Backup', 'jetpack-my-jetpack' ),
96 'standalone_url' => 'https://wordpress.org/plugins/jetpack-backup/',
97 'free' => false,
98 ),
99 'plans' => array( 'security', 'complete' ),
100 'paid_product' => __( 'Jetpack VaultPress Backup', 'jetpack-my-jetpack' ),
101 ),
102 'blaze' => array(
103 'info_url' => 'https://jetpack.com/blaze/',
104 'docs_url' => 'https://jetpack.com/support/blaze/',
105 'image' => 'https://jetpack.com/wp-content/uploads/2024/03/68752-43696-hero-blaze-2x-1.png',
106 'name' => __( 'Blaze', 'jetpack-my-jetpack' ),
107 'description' => __( 'Put your best posts in front of new readers on WordPress.com and Tumblr.', 'jetpack-my-jetpack' ),
108 'long_description' => __( 'Turn a post or page into an ad shown across Tumblr and WordPress.com, aimed at the locations, languages and interests you choose. There is no plan to buy: set a budget for each campaign and pay only for the ad views you get.', 'jetpack-my-jetpack' ),
109 'icon' => 'megaphone',
110 'admin_page' => 'advertising',
111 'module' => 'blaze',
112 'delivery' => array(
113 'in_jetpack' => true,
114 'standalone' => __( 'Blaze Ads', 'jetpack-my-jetpack' ),
115 'standalone_url' => 'https://wordpress.org/plugins/blaze-ads/',
116 'free' => false,
117 ),
118 ),
119 'boost' => array(
120 'info_url' => 'https://jetpack.com/boost/',
121 'docs_url' => 'https://jetpack.com/support/jetpack-boost/',
122 'image' => 'https://jetpack.com/wp-content/uploads/2026/08/2c483-boost_performance-2x.png',
123 'name' => __( 'Boost', 'jetpack-my-jetpack' ),
124 'description' => __( 'Make your site load faster in a few clicks, no developer required.', 'jetpack-my-jetpack' ),
125 'long_description' => __( 'Your pages reach visitors sooner: Boost caches them, defers non-essential JavaScript and serves resized images from a worldwide network. Mobile and desktop performance scores show you the impact of each change.', 'jetpack-my-jetpack' ),
126 'icon' => 'trending-up',
127 'product' => 'boost',
128 'essential' => true,
129 'interstitial' => '/add-boost',
130 'paid_highlights' => array(
131 __( 'Critical CSS that updates automatically as your site changes', 'jetpack-my-jetpack' ),
132 __( 'Performance history for mobile and desktop, including Core Web Vitals', 'jetpack-my-jetpack' ),
133 __( 'Control over the quality and size of images from the image CDN', 'jetpack-my-jetpack' ),
134 ),
135 'delivery' => array(
136 'in_jetpack' => false,
137 'standalone' => __( 'Jetpack Boost', 'jetpack-my-jetpack' ),
138 'standalone_url' => 'https://wordpress.org/plugins/jetpack-boost/',
139 'free' => true,
140 ),
141 'plans' => array( 'complete' ),
142 'paid_product' => __( 'Jetpack Boost', 'jetpack-my-jetpack' ),
143 ),
144 'crm' => array(
145 'info_url' => 'https://jetpackcrm.com/',
146 'docs_url' => 'https://kb.jetpackcrm.com/article-categories/getting-started/',
147 'image' => 'https://jetpackcrm.com/wp-content/uploads/2022/02/jpcrm-styled-1.png',
148 'name' => __( 'Jetpack CRM', 'jetpack-my-jetpack' ),
149 'description' => __( 'Keep every lead and customer in one place, right inside WordPress.', 'jetpack-my-jetpack' ),
150 'long_description' => __( 'Track leads, send quotes and invoices, and see each customer’s full history from your dashboard. Because it runs on your own site, your customer data stays yours.', 'jetpack-my-jetpack' ),
151 'icon' => 'people',
152 'product' => 'crm',
153 'interstitial' => '/add-crm',
154 'paid_highlights' => array(
155 __( 'A sales dashboard, sales funnels and automations to follow up on leads', 'jetpack-my-jetpack' ),
156 __( 'Take payments through Stripe and PayPal', 'jetpack-my-jetpack' ),
157 __( 'Sync contacts from Gravity Forms, Contact Form 7 and Mailchimp', 'jetpack-my-jetpack' ),
158 ),
159 'delivery' => array(
160 'in_jetpack' => false,
161 'standalone' => __( 'Jetpack CRM', 'jetpack-my-jetpack' ),
162 'standalone_url' => 'https://wordpress.org/plugins/zero-bs-crm/',
163 'free' => true,
164 ),
165 'plans' => array( 'complete' ),
166 'paid_product' => __( 'Jetpack CRM Entrepreneur', 'jetpack-my-jetpack' ),
167 ),
168 'jetpack-ai' => array(
169 'info_url' => 'https://jetpack.com/ai/',
170 'docs_url' => 'https://jetpack.com/support/create-better-content-with-jetpack-ai/',
171 'image' => 'https://jetpack.com/wp-content/uploads/2024/09/b76cf-48ca0-image-hero.png',
172 'name' => __( 'Jetpack AI Assistant', 'jetpack-my-jetpack' ),
173 'description' => __( 'Turn your ideas into ready-to-publish content without leaving the editor.', 'jetpack-my-jetpack' ),
174 'long_description' => __( 'Generate posts, tables, forms and images from a prompt, then change the tone, translate, or fix unclear sentences to make your writing easier to read. Before you publish, improve your title and create a featured image in one click.', 'jetpack-my-jetpack' ),
175 'icon' => 'star',
176 'product' => 'jetpack-ai',
177 'interstitial' => '/add-jetpack-ai',
178 'paid_highlights' => array(
179 __( 'Keep creating after your 20 free requests run out', 'jetpack-my-jetpack' ),
180 __( 'Generate a logo for your site', 'jetpack-my-jetpack' ),
181 __( 'Priority support', 'jetpack-my-jetpack' ),
182 ),
183 'delivery' => array(
184 'in_jetpack' => true,
185 'free' => true,
186 ),
187 'plans' => array( 'complete' ),
188 'paid_product' => __( 'Jetpack AI Assistant', 'jetpack-my-jetpack' ),
189 ),
190 'jetpack-forms' => array(
191 'info_url' => 'https://jetpack.com/forms/',
192 'docs_url' => 'https://jetpack.com/support/jetpack-blocks/contact-form/',
193 'image' => 'https://jetpack.com/wp-content/uploads/2024/03/14c11-5f571-hero-forms-2x.png',
194 'name' => __( 'Forms', 'jetpack-my-jetpack' ),
195 'description' => __( 'From quick contact forms to multistep surveys, everything you need is included.', 'jetpack-my-jetpack' ),
196 'long_description' => __( 'Break long forms into steps with a progress bar, and get every response by email and in your dashboard, with no limit on responses. Upgrade to add secure file uploads that keep harmful files off your server.', 'jetpack-my-jetpack' ),
197 'icon' => 'list-bullets',
198 'product' => 'jetpack-forms',
199 'essential' => true,
200 'paid_highlights' => array(
201 __( 'Secure file uploads that keep harmful files off your server', 'jetpack-my-jetpack' ),
202 __( 'Visitors’ files stay private, visible only to you and your editors', 'jetpack-my-jetpack' ),
203 __( 'Up to 10 files per field, 20 MB each', 'jetpack-my-jetpack' ),
204 ),
205 'delivery' => array(
206 'in_jetpack' => true,
207 'free' => true,
208 ),
209 'plans' => array( 'complete' ),
210 'paid_product' => __( 'Jetpack Complete', 'jetpack-my-jetpack' ),
211 ),
212 'newsletter' => array(
213 'info_url' => 'https://jetpack.com/newsletter/',
214 'docs_url' => 'https://jetpack.com/support/newsletter/',
215 'image' => 'https://jetpack.com/wp-content/uploads/2024/04/95dca-69c7b-jetpack-newsletter-lp.png',
216 'name' => __( 'Newsletter', 'jetpack-my-jetpack' ),
217 'description' => __( 'Turn every post you publish into an email your readers receive.', 'jetpack-my-jetpack' ),
218 'long_description' => __( 'Subscribers get each new post by email as soon as you publish, or in a daily or weekly digest they choose. You can also earn from your writing with paid subscriptions for exclusive posts.', 'jetpack-my-jetpack' ),
219 'icon' => 'envelope',
220 'product' => 'newsletter',
221 'paid_highlights' => array(
222 __( 'Keep more of what you earn with lower fees on paid subscriptions', 'jetpack-my-jetpack' ),
223 __( 'Import as many subscribers as you like', 'jetpack-my-jetpack' ),
224 ),
225 'delivery' => array(
226 'in_jetpack' => true,
227 'free' => true,
228 ),
229 'plans' => array( 'growth', 'complete' ),
230 'paid_product' => __( 'Jetpack Growth', 'jetpack-my-jetpack' ),
231 ),
232 'podcast' => array(
233 'info_url' => 'https://jetpack.com/podcast/',
234 'docs_url' => 'https://jetpack.com/support/jetpack-podcast/',
235 'image' => 'https://jetpack.com/wp-content/uploads/2026/08/9c2fc-jp-sync-6397e6142b48-image-5.png',
236 'name' => __( 'Podcast', 'jetpack-my-jetpack' ),
237 'description' => __( 'Start a podcast on your own site and reach listeners on every major app.', 'jetpack-my-jetpack' ),
238 'long_description' => __( 'Publish unlimited episodes as posts, with your podcast feed served from your own domain. Submit your show to Apple Podcasts, Spotify, Pocket Casts and more from one place.', 'jetpack-my-jetpack' ),
239 'icon' => 'audio',
240 'admin_page' => 'jetpack-podcast',
241 'module' => 'podcast',
242 'paid_highlights' => array(
243 __( 'Listener stats by episode, app and country', 'jetpack-my-jetpack' ),
244 __( 'An episodes dashboard for your whole back catalog', 'jetpack-my-jetpack' ),
245 __( 'An episode player with chapters, transcripts and soundbites', 'jetpack-my-jetpack' ),
246 ),
247 'delivery' => array(
248 'in_jetpack' => true,
249 'free' => true,
250 ),
251 'plans' => array( 'growth', 'complete' ),
252 'paid_product' => __( 'Jetpack Growth', 'jetpack-my-jetpack' ),
253 ),
254 'protect' => array(
255 'info_url' => 'https://jetpack.com/protect/',
256 'docs_url' => 'https://jetpack.com/support/jetpack-protect/',
257 'image' => 'https://jetpack.com/wp-content/uploads/2024/05/6c5c0-d16e7-hero-scan-2x.png',
258 'name' => __( 'Protect', 'jetpack-my-jetpack' ),
259 'description' => __( 'Get warned about vulnerable plugins and stop login attacks on your site.', 'jetpack-my-jetpack' ),
260 'long_description' => __( 'Your WordPress version, plugins and themes are checked daily against a database of known vulnerabilities, with results in your dashboard. Login attacks are blocked automatically, and you can block specific IP addresses yourself.', 'jetpack-my-jetpack' ),
261 'icon' => 'shield',
262 'product' => 'protect',
263 'essential' => true,
264 'interstitial' => '/add-protect',
265 'paid_highlights' => array(
266 __( 'Daily malware scanning with one-click fixes for most threats', 'jetpack-my-jetpack' ),
267 __( 'Automatic firewall rules that block harmful requests', 'jetpack-my-jetpack' ),
268 __( 'Instant email alerts when a threat is found', 'jetpack-my-jetpack' ),
269 ),
270 'delivery' => array(
271 'in_jetpack' => true,
272 'standalone' => __( 'Jetpack Protect', 'jetpack-my-jetpack' ),
273 'standalone_url' => 'https://wordpress.org/plugins/jetpack-protect/',
274 'free' => true,
275 ),
276 'plans' => array( 'security', 'complete' ),
277 'paid_product' => __( 'Jetpack Scan', 'jetpack-my-jetpack' ),
278 ),
279 'search' => array(
280 'info_url' => 'https://jetpack.com/search/',
281 'docs_url' => 'https://jetpack.com/support/search/',
282 'image' => 'https://jetpack.com/wp-content/uploads/2026/05/8bcc4-5b7cc-woocommerce-product-search-1.png',
283 'name' => __( 'Search', 'jetpack-my-jetpack' ),
284 'description' => __( 'Help your visitors find the right post or product as they type.', 'jetpack-my-jetpack' ),
285 'long_description' => __( 'Visitors see relevant results as they type and can filter by category, tag, date or author, so they find what they need instead of leaving. Match search to your theme without writing code.', 'jetpack-my-jetpack' ),
286 'icon' => 'search',
287 'product' => 'search',
288 'interstitial' => '/add-search',
289 'paid_highlights' => array(
290 __( 'Room for more records and monthly searches as your site grows', 'jetpack-my-jetpack' ),
291 __( 'AI Answers without the free plan’s limits', 'jetpack-my-jetpack' ),
292 __( 'No Jetpack branding, plus priority support', 'jetpack-my-jetpack' ),
293 ),
294 'delivery' => array(
295 'in_jetpack' => true,
296 'standalone' => __( 'Jetpack Search', 'jetpack-my-jetpack' ),
297 'standalone_url' => 'https://wordpress.org/plugins/jetpack-search/',
298 'free' => true,
299 ),
300 'plans' => array( 'complete' ),
301 'paid_product' => __( 'Jetpack Search', 'jetpack-my-jetpack' ),
302 ),
303 'social' => array(
304 'info_url' => 'https://jetpack.com/social/',
305 'docs_url' => 'https://jetpack.com/support/jetpack-social/',
306 'image' => 'https://jetpack.com/wp-content/uploads/2026/03/9529d-db753-lets-share-social-jetpack.png',
307 'name' => __( 'Social', 'jetpack-my-jetpack' ),
308 'description' => __( 'Share your posts to your social networks automatically when you publish.', 'jetpack-my-jetpack' ),
309 'long_description' => __( 'Reach your followers on Facebook, Instagram, Threads, Bluesky, LinkedIn, Mastodon, Nextdoor and Tumblr without leaving WordPress. Posts share automatically when you publish, and you can re-share or schedule them later.', 'jetpack-my-jetpack' ),
310 'icon' => 'share',
311 'product' => 'social',
312 'interstitial' => '/add-social',
313 'paid_highlights' => array(
314 __( 'Tailor the message and media for each network', 'jetpack-my-jetpack' ),
315 __( 'Save reusable message templates for each account', 'jetpack-my-jetpack' ),
316 __( 'Branded share images from Social Image Generator', 'jetpack-my-jetpack' ),
317 ),
318 'delivery' => array(
319 'in_jetpack' => true,
320 'standalone' => __( 'Jetpack Social', 'jetpack-my-jetpack' ),
321 'standalone_url' => 'https://wordpress.org/plugins/jetpack-social/',
322 'free' => true,
323 ),
324 'plans' => array( 'growth', 'complete' ),
325 'paid_product' => __( 'Jetpack Social', 'jetpack-my-jetpack' ),
326 ),
327 'stats' => array(
328 'info_url' => 'https://jetpack.com/stats/',
329 'docs_url' => 'https://jetpack.com/support/jetpack-stats/',
330 'image' => 'https://jetpack.com/wp-content/uploads/2026/08/23631-stats-primary-desktop.png',
331 'name' => __( 'Stats', 'jetpack-my-jetpack' ),
332 'description' => __( 'See how many people visit your site and which posts they read.', 'jetpack-my-jetpack' ),
333 'long_description' => __( 'Track views, visitors, top posts, referrers and visitor countries right from your WordPress dashboard. Learn what works without seeing who your individual visitors are.', 'jetpack-my-jetpack' ),
334 'icon' => 'chart-bar',
335 'product' => 'stats',
336 'essential' => true,
337 'interstitial' => '/add-stats',
338 'paid_highlights' => array(
339 __( 'UTM tracking to see which campaigns bring you traffic', 'jetpack-my-jetpack' ),
340 __( 'Device stats to see how visitors browse your site', 'jetpack-my-jetpack' ),
341 __( 'Region and city locations, beyond country level', 'jetpack-my-jetpack' ),
342 ),
343 'delivery' => array(
344 'in_jetpack' => true,
345 'free' => true,
346 ),
347 'plans' => array( 'growth', 'complete' ),
348 'paid_product' => __( 'Jetpack Stats', 'jetpack-my-jetpack' ),
349 ),
350 'videopress' => array(
351 'info_url' => 'https://jetpack.com/videopress/',
352 'docs_url' => 'https://jetpack.com/support/jetpack-videopress/',
353 'image' => 'https://jetpack.com/wp-content/uploads/2026/08/d3d23-videopress-built-for-wp-2x.jpeg',
354 'name' => __( 'VideoPress', 'jetpack-my-jetpack' ),
355 'description' => __( 'Share ad-free, high-quality video that keeps visitors on your site.', 'jetpack-my-jetpack' ),
356 'long_description' => __( 'Your videos play in an ad-free 4K player you can match to your brand, so visitors stay on your site. Drag and drop uploads right in the WordPress editor.', 'jetpack-my-jetpack' ),
357 'icon' => 'video',
358 'product' => 'videopress',
359 'interstitial' => '/add-videopress',
360 'paid_highlights' => array(
361 __( 'Unlimited videos, instead of one', 'jetpack-my-jetpack' ),
362 __( 'Up to 1TB of video storage', 'jetpack-my-jetpack' ),
363 ),
364 'delivery' => array(
365 'in_jetpack' => true,
366 'standalone' => __( 'Jetpack VideoPress', 'jetpack-my-jetpack' ),
367 'standalone_url' => 'https://wordpress.org/plugins/jetpack-videopress/',
368 'free' => true,
369 ),
370 'plans' => array( 'complete' ),
371 'paid_product' => __( 'Jetpack VideoPress', 'jetpack-my-jetpack' ),
372 ),
373 );
374 }
375 }
376