diff --git a/site/install/plugin/plugin.md b/site/install/plugin/plugin.md
index ab2b6510..a090352a 100644
--- a/site/install/plugin/plugin.md
+++ b/site/install/plugin/plugin.md
@@ -25,7 +25,7 @@ After you've launched Weave Net and peered your hosts, you can start containers
on any of the hosts, and they can all communicate with each other
using any protocol, even multicast.
-In order to use Weave Net's [Service Discovery](/site/weavedns.md) you
+In order to use Weave Net's [Service Discovery](/site/tasks/weavedns/weavedns.md) you
must pass the additional arguments `--dns` and `-dns-search`, for
which a helper is provided in the Weave script:
diff --git a/site/overview/features.md b/site/overview/features.md
index 44eb9953..02dba740 100644
--- a/site/overview/features.md
+++ b/site/overview/features.md
@@ -108,16 +108,16 @@ For a discussion on how Weave Net uses IPAM, see [Automatic IP Address Managemen
### Naming and Discovery
-Named containers are automatically registered in [weaveDNS](/site/weavedns.md),
+Named containers are automatically registered in [weaveDNS](/site/tasks/weavedns/weavedns.md),
and are discoverable by using standard, simple name lookups:
host1$ docker run -dti --name=service weaveworks/ubuntu
host1$ docker run -ti weaveworks/ubuntu
root@7b21498fb103:/# ping service
-WeaveDNS also supports [load balancing](/site/weavedns/load-balance-fault-weavedns.md), [fault resilience](/site/weavedns/load-balance-fault-weavedns.md) and [hot swapping](/site/weavedns/managing-entries-weavedns.md).
+WeaveDNS also supports [load balancing](/site/tasks/weavedns/load-balance-fault-weavedns.md), [fault resilience](/site/tasks/weavedns/load-balance-fault-weavedns.md) and [hot swapping](/site/tasks/weavedns/managing-entries-weavedns.md).
-See [Discovering Containers with WeaveDNS](/site/weavedns.md).
+See [Discovering Containers with WeaveDNS](/site/tasks/weavedns/weavedns.md).
### Application Isolation
diff --git a/site/tasks/weave-docker-api/automatic-discovery-proxy.md b/site/tasks/weave-docker-api/automatic-discovery-proxy.md
index 7b333ef7..c0b94603 100644
--- a/site/tasks/weave-docker-api/automatic-discovery-proxy.md
+++ b/site/tasks/weave-docker-api/automatic-discovery-proxy.md
@@ -4,9 +4,9 @@ menu_order: 40
search_type: Documentation
---
-Containers launched via the proxy use [weaveDNS](/site/weavedns.md)
+Containers launched via the proxy use [weaveDNS](/site/tasks/weavedns/weavedns.md)
automatically if it is running when they are started -
-see the [weaveDNS usage](/site/weavedns.md#usage) section for an in depth
+see the [weaveDNS usage](/site/tasks/weavedns/weavedns.md#usage) section for an in depth
explanation of the behaviour and how to control it.
Typically, the proxy passes on container names as-is to weaveDNS
@@ -57,4 +57,4 @@ to the proxy, the specified label takes precedence over the container's name.
**See Also**
* [Name resolution via `/etc/hosts`](/site/weave-docker-api/name-resolution-proxy.md)
- * [How Weave Finds Containers](/site/weavedns/how-works-weavedns.md)
+ * [How Weave Finds Containers](/site/tasks/weavedns/how-works-weavedns.md)
diff --git a/site/tasks/weave-docker-api/using-proxy.md b/site/tasks/weave-docker-api/using-proxy.md
index 913271fc..c6074483 100644
--- a/site/tasks/weave-docker-api/using-proxy.md
+++ b/site/tasks/weave-docker-api/using-proxy.md
@@ -55,7 +55,7 @@ route, add the `--no-multicast-route` flag to `weave launch`.
### Other Weave Proxy options
- * `--without-dns` -- stop telling containers to use [WeaveDNS](/site/weavedns.md)
+ * `--without-dns` -- stop telling containers to use [WeaveDNS](/site/tasks/weavedns/weavedns.md)
* `--log-level=debug|info|warning|error` -- controls how much
information to emit for debugging
* `--no-restart` -- remove the default policy of `--restart=always`, if
diff --git a/site/tasks/weavedns/how-works-weavedns.md b/site/tasks/weavedns/how-works-weavedns.md
index 0f6a5882..a7bae14f 100644
--- a/site/tasks/weavedns/how-works-weavedns.md
+++ b/site/tasks/weavedns/how-works-weavedns.md
@@ -43,6 +43,6 @@ $ sudo DOCKER_BRIDGE=someother weave attach ...
**See Also**
- * [Using WeaveDNS](/site/weavedns.md)
- * [Load Balancing with weaveDNS](/site/weavedns/load-balance-fault-weavedns.md)
- * [Managing Domain Entries](/site/weavedns/managing-domains-weavedns.md)
+ * [Using WeaveDNS](/site/tasks/weavedns/weavedns.md)
+ * [Load Balancing with weaveDNS](/site/tasks/weavedns/load-balance-fault-weavedns.md)
+ * [Managing Domain Entries](/site/tasks/weavedns/managing-domains-weavedns.md)
diff --git a/site/tasks/weavedns/load-balance-fault-weavedns.md b/site/tasks/weavedns/load-balance-fault-weavedns.md
index d55c416a..3421f8bd 100644
--- a/site/tasks/weavedns/load-balance-fault-weavedns.md
+++ b/site/tasks/weavedns/load-balance-fault-weavedns.md
@@ -10,7 +10,7 @@ It is permissible to register multiple containers with the same name:
weaveDNS returns all addresses, in a random order, for each request.
This provides a basic load balancing capability.
-Expanding the [overview example](/site/weavedns.md), let us start an additional `pingme` container on a second host, and then run
+Expanding the [overview example](/site/tasks/weavedns/weavedns.md), let us start an additional `pingme` container on a second host, and then run
some ping tests.
```
@@ -49,11 +49,11 @@ WeaveDNS removes the addresses of any container that dies. This offers
a simple way to implement redundancy. E.g. if in our example we stop
one of the `pingme` containers and re-run the ping tests, eventually
(within ~30s at most, since that is the weaveDNS
-[cache expiry time](/site/weavedns/managing-entries-weavedns.md#ttl)) we will only be hitting the address of the
+[cache expiry time](/site/tasks/weavedns/managing-entries-weavedns.md#ttl)) we will only be hitting the address of the
container that is still alive.
**See Also**
* [How Weave Finds Containers](/site/how-works-weavedns.md)
- * [Managing Domains](/site/weavedns/managing-domains-weavedns.md)
- * [Managing Domain Entries](/site/weavedns/managing-entries-weavedns.md)
+ * [Managing Domains](/site/tasks/weavedns/managing-domains-weavedns.md)
+ * [Managing Domain Entries](/site/tasks/weavedns/managing-entries-weavedns.md)
diff --git a/site/tasks/weavedns/managing-domains-weavedns.md b/site/tasks/weavedns/managing-domains-weavedns.md
index 49a12b57..cc640db5 100644
--- a/site/tasks/weavedns/managing-domains-weavedns.md
+++ b/site/tasks/weavedns/managing-domains-weavedns.md
@@ -46,5 +46,5 @@ link-local as per [RFC6762](https://tools.ietf.org/html/rfc6762),
* [How Weave Finds Containers](/site/how-works-weavedns.md)
- * [Load Balancing and Fault Resilience with WeaveDNS](/site/weavedns/load-balance-fault-weavedns.md)
- * [Managing Domain Entries](/site/weavedns/managing-entries-weavedns.md)
+ * [Load Balancing and Fault Resilience with WeaveDNS](/site/tasks/weavedns/load-balance-fault-weavedns.md)
+ * [Managing Domain Entries](/site/tasks/weavedns/managing-entries-weavedns.md)
diff --git a/site/tasks/weavedns/managing-entries-weavedns.md b/site/tasks/weavedns/managing-entries-weavedns.md
index 7600c573..75bfa6e1 100644
--- a/site/tasks/weavedns/managing-entries-weavedns.md
+++ b/site/tasks/weavedns/managing-entries-weavedns.md
@@ -78,6 +78,6 @@ weaveDNS instance will receive.
**See Also**
- * [How Weave Finds Containers](/site/weavedns/how-works-weavedns.md)
- * [Load Balancing and Fault Resilience with WeaveDNS](/site/weavedns/load-balance-fault-weavedns.md)
- * [Managing Domains](/site/weavedns/managing-domains-weavedns.md)
+ * [How Weave Finds Containers](/site/tasks/weavedns/how-works-weavedns.md)
+ * [Load Balancing and Fault Resilience with WeaveDNS](/site/tasks/weavedns/load-balance-fault-weavedns.md)
+ * [Managing Domains](/site/tasks/weavedns/managing-domains-weavedns.md)
diff --git a/site/tasks/weavedns/weavedns.md b/site/tasks/weavedns/weavedns.md
index c0f3b4cc..8231b97b 100644
--- a/site/tasks/weavedns/weavedns.md
+++ b/site/tasks/weavedns/weavedns.md
@@ -46,4 +46,4 @@ disable weaveDNS itself, launch weave with the `--no-dns` option.
**See Also**
* [Integrating Docker via the API Proxy](/site/weave-docker-api.md)
- * [Load Balancing and Fault Resilience with WeaveDNS](/site/weavedns/load-balance-fault-weavedns.md)
+ * [Load Balancing and Fault Resilience with WeaveDNS](/site/tasks/weavedns/load-balance-fault-weavedns.md)