This repository has been archived by the owner on Apr 3, 2020. It is now read-only.
forked from pfefferle/wordpress-well-known
-
Notifications
You must be signed in to change notification settings - Fork 8
/
readme.txt
105 lines (76 loc) · 3.69 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
=== well-known-uris ===
Contributors: pfefferle, mrose17
Donate link: http://www.14101978.de
Tags: well-known, well-known-uris, discovery
Requires at least: 3.5.1
Tested up to: 4.6.1
Stable tag: 1.0.3
License: MPL2
"Well-Known URIs" for WordPress!
== Description ==
This plugin enables "Well-Known URIs" support for WordPress (RFC 5785: http://tools.ietf.org/html/rfc5785).
From the RFC:
> It is increasingly common for Web-based protocols to require the
> discovery of policy or other information about a host ("site-wide
> metadata") before making a request. For example, the Robots
> Exclusion Protocol <http://www.robotstxt.org/> specifies a way for
> automated processes to obtain permission to access resources;
> likewise, the Platform for Privacy Preferences
> tells user-agents how to discover privacy policy beforehand.
> While there are several ways to access per-resource metadata (e.g.,
> HTTP headers, WebDAV's PROPFIND [RFC4918]), the perceived overhead
> (either in terms of client-perceived latency and/or deployment
> difficulties) associated with them often precludes their use in these
> scenarios.
> When this happens, it is common to designate a "well-known location"
> for such data, so that it can be easily located. However, this
> approach has the drawback of risking collisions, both with other such
> designated "well-known locations" and with pre-existing resources.
> To address this, this memo defines a path prefix in HTTP(S) URIs for
> these "well-known locations", "/.well-known/". Future specifications
> that need to define a resource for such site-wide metadata can
> register their use to avoid collisions and minimise impingement upon
> sites' URI space.
You will need 'manage_options' capability in order to use the Settings
page for this plugin.
NOTE: as with all plugins, once you are no longer using the plugin, you
should disable it. This is a good security practice.
== Changelog ==
= 1.0.3 =
* Fork from the original -- https://wordpress.org/plugins/well-known/ --
many thanks to https://profiles.wordpress.org/pfefferle/ for the
excellent plugin!
== Installation ==
1. Upload the `well-known`-folder to the `/wp-content/plugins/` directory
2. Activate the plugin through the *Plugins* menu in WordPress
3. If you wish to define one or more Well-Known URIs that return static output,
go to *Settings > Well-Known URIs* and define them, e.g.
`Path: /.well-known/`
robots.txt
`Content-Type:`
text/plain; charset=utf-8
`URI contents:`
User-agent: *
Allow: /
4. If you want to configure a Well-Known URI that returns dynamic output,
first, edit the plugin source to define a function invoked by
`do_action` for the action `"well_known_uri_" + $path`. That function
will be invoked when `/.well-known/${path}` is requested.
== Frequently Asked Questions ==
= How can I define a well-known uri? =
Set a callback for an URI (e.g., "/.well-known/robots.txt"),
identified by `"well_known_uri_" + $path` (e.g., `"well_known_uri_robots.txt"`).
`add_action('well_known_uri_robots.txt', 'robots_txt');`
In the callback, do whatever processing is appropriate, e.g.,
`function robots_txt($query) {
header('Content-Type: text/plain; charset=' . get_option('blog_charset'), TRUE);
echo "User-agent: *";
echo "Allow: /";
exit;
}`
This code defines a URI that returns static output, as shown in Step 3 above.
(For static output, you will want to use *Settings > Well-Known URIs* page to
avoid writing any code.)
= Is there an implementation where I can write off? =
Yes, you can find an example plugin, which defines a Well-Known URI,
here: http://wordpress.org/extend/plugins/host-meta/