diff --git a/site/concepts/encryption-implementation.md b/site/concepts/encryption-implementation.md
index ff8511d6..21b534ef 100644
--- a/site/concepts/encryption-implementation.md
+++ b/site/concepts/encryption-implementation.md
@@ -5,7 +5,7 @@ search_type: Documentation
---
This section describes some details of Weave Net's built-in
-[encryption](/site/how-it-works/encryption.md):
+[encryption](/site/concepts/encryption.md):
* [Establishing the Ephemeral Session Key](#ephemeral-key)
* [Key Generation](#csprng)
@@ -148,7 +148,7 @@ follows:
| Frame N: Captured payload | |
+-----------------------------------+ -+
-This is very similar to the [non-crypto encapsulation](/site/how-it-works/router-encapsulation.md).
+This is very similar to the [non-crypto encapsulation](/site/concepts/router-encapsulation.md).
All of the frames on a connection are encrypted with the same
ephemeral session key, and a nonce constructed from a message sequence
diff --git a/site/concepts/encryption.md b/site/concepts/encryption.md
index 084e6a12..dceafb62 100644
--- a/site/concepts/encryption.md
+++ b/site/concepts/encryption.md
@@ -41,5 +41,5 @@ the IP transformation framework (XFRM).
**See Also**
- * [How Weave Implements Encryption](/site/how-it-works/encryption-implementation.md)
+ * [How Weave Implements Encryption](/site/concepts/encryption-implementation.md)
* [Securing Containers Across Untrusted Networks](/site/using-weave/security-untrusted-networks.md)
diff --git a/site/concepts/how-it-works.md b/site/concepts/how-it-works.md
index 4082b09f..4bde7068 100644
--- a/site/concepts/how-it-works.md
+++ b/site/concepts/how-it-works.md
@@ -45,5 +45,5 @@ first send it to peer 3:
**See Also**
- * [Weave Router Sleeve Encapsulation](/site/how-it-works/router-encapsulation.md)
- * [How Weave Interprets Network Topology](/site/how-it-works/network-topology.md)
+ * [Weave Router Sleeve Encapsulation](/site/concepts/router-encapsulation.md)
+ * [How Weave Interprets Network Topology](/site/concepts/network-topology.md)
diff --git a/site/concepts/network-topology.md b/site/concepts/network-topology.md
index d168b5b0..111dd453 100644
--- a/site/concepts/network-topology.md
+++ b/site/concepts/network-topology.md
@@ -145,7 +145,7 @@ which time the topology should have updated.
**See Also**
- * [Weave Net Router Encapsulation](/site/how-it-works/router-encapsulation.md)
+ * [Weave Net Router Encapsulation](/site/concepts/router-encapsulation.md)
diff --git a/site/concepts/router-encapsulation.md b/site/concepts/router-encapsulation.md
index b15a3b2e..44806eeb 100644
--- a/site/concepts/router-encapsulation.md
+++ b/site/concepts/router-encapsulation.md
@@ -62,4 +62,4 @@ MAC discovery.
**See Also**
- * [How Weave Net Interprets Network Topology](/site/how-it-works/network-topology.md)
+ * [How Weave Net Interprets Network Topology](/site/concepts/network-topology.md)
diff --git a/site/faq.md b/site/faq.md
index 8f9c83aa..8cd4d12c 100644
--- a/site/faq.md
+++ b/site/faq.md
@@ -63,7 +63,7 @@ All virtualization techniques have some overhead, and Weave's overhead is typica
Weave Net also automatically uses the fastest datapath between two hosts. When Weave Net can't use the fast datapath between two hosts, it falls back to the slower packet forwarding approach. Selecting the fastest forwarding approach is automatic, and is determined on a connection-by-connection basis. For example, a Weave network spanning two data centers might use fast datapath within the data centers, but not for the more constrained network link between them.
-For more information about fast datapath see [How Fast Datapath Works](/site/how-it-works/fastdp-how-it-works.md).
+For more information about fast datapath see [How Fast Datapath Works](/site/concepts/fastdp-how-it-works.md).
diff --git a/site/overview/features.md b/site/overview/features.md
index 03187e3a..8e2353c2 100644
--- a/site/overview/features.md
+++ b/site/overview/features.md
@@ -54,7 +54,7 @@ transport data between peers. The best performing of these
(the 'fast datapath') offers near-native throughput and latency.
See [Using Fast Datapath](/site/using-weave/fastdp.md) and
-[How Fast Datapath Works](/site/how-it-works/fastdp-how-it-works.md).
+[How Fast Datapath Works](/site/concepts/fastdp-how-it-works.md).
### Seamless Docker Integration (Weave Docker API Proxy)
@@ -103,7 +103,7 @@ Instead of allowing Weave to automatically allocate addresses, an IP address and
specified. See [How to Manually Specify IP Addresses and Subnets](/site/using-weave/manual-ip-address.md) for instructions.
For a discussion on how Weave Net uses IPAM, see [Automatic IP Address Management](/site/ipam.md). And also review the
-[the basics of IP addressing](/site/how-it-works/ip-addresses.md) for an explanation of addressing and private networks.
+[the basics of IP addressing](/site/concepts/ip-addresses.md) for an explanation of addressing and private networks.
### Naming and Discovery
@@ -176,7 +176,7 @@ running alongside Weave.
Weave Net implements encryption and security using the Go version of [Daniel J. Bernstein's NaCl library](http://nacl.cr.yp.to/index.html),
and, additionally in the case of encrypted fast datapath using [the cryptography framework of the Linux kernel](https://en.wikipedia.org/wiki/Crypto_API_(Linux)).
-For information on how to secure your Docker network connections, see [Securing Connections Across Untrusted Networks](/site/using-weave/security-untrusted-networks.md) and for a more technical discussion on how Weave implements encryption see, [Weave Encryption](/site/how-it-works/encryption.md) and [How Weave Implements Encryption](/site/how-it-works/encryption-implementation.md).
+For information on how to secure your Docker network connections, see [Securing Connections Across Untrusted Networks](/site/using-weave/security-untrusted-networks.md) and for a more technical discussion on how Weave implements encryption see, [Weave Encryption](/site/concepts/encryption.md) and [How Weave Implements Encryption](/site/concepts/encryption-implementation.md).
### Host Network Integration
diff --git a/site/tasks/ipam/configuring-weave.md b/site/tasks/ipam/configuring-weave.md
index 03e2755a..22353e6e 100644
--- a/site/tasks/ipam/configuring-weave.md
+++ b/site/tasks/ipam/configuring-weave.md
@@ -40,4 +40,4 @@ Networks](https://en.wikipedia.org/wiki/Private_network). For example
**See Also**
- * [IP Addresses, Routes and Networks](/site/how-it-works/ip-addresses.md)
+ * [IP Addresses, Routes and Networks](/site/concepts/ip-addresses.md)
diff --git a/site/tasks/ipam/ipam.md b/site/tasks/ipam/ipam.md
index 82abb79a..4d3b0723 100644
--- a/site/tasks/ipam/ipam.md
+++ b/site/tasks/ipam/ipam.md
@@ -180,7 +180,7 @@ The range parameter is written in
in this example "/16" means the first 16 bits of the address form the
network address and the allocator is to allocate container addresses
that all start 10.2. See [IP
-addresses and routes](/site/how-it-works/ip-addresses.md) for more information.
+addresses and routes](/site/concepts/ip-addresses.md) for more information.
Weave shares the IP address range across all peers, dynamically
according to their needs. If a group of peers becomes isolated from
diff --git a/site/tasks/ipam/manual-ip-address.md b/site/tasks/ipam/manual-ip-address.md
index c206e577..3edd1feb 100644
--- a/site/tasks/ipam/manual-ip-address.md
+++ b/site/tasks/ipam/manual-ip-address.md
@@ -11,7 +11,7 @@ Containers are automatically allocated an IP address that is unique across the W
Weave Net detects when a container has exited and releases its allocated addresses so they can be re-used by the network.
-See the [Automatic IP Address Management](/site/ipam.md) and also an explanation of [the basics of IP addressing](/site/how-it-works/ip-addresses.md) for further details.
+See the [Automatic IP Address Management](/site/ipam.md) and also an explanation of [the basics of IP addressing](/site/concepts/ip-addresses.md) for further details.
Instead of allowing Weave Net to allocate IP addresses automatically (using IPAM), there may be instances where you need to control a particular container or a cluster by setting an IP address for it.
diff --git a/site/tasks/manage/fastdp.md b/site/tasks/manage/fastdp.md
index 7eb7a27b..02b17fc3 100644
--- a/site/tasks/manage/fastdp.md
+++ b/site/tasks/manage/fastdp.md
@@ -9,7 +9,7 @@ The most important thing to know about fast datapath is that you don't need to c
When Weave Net cannot use the fast data path between two hosts, it falls back to a slower packet forwarding approach called `sleeve`. Selecting the fastest forwarding approach is automatic, and is determined on a connection-by-connection basis. For example, a Weave network spanning two data centers might use fast data path within the data centers, but not for the more constrained network link between them.
-See [How Fastdp Works](/site/how-it-works/fastdp-how-it-works.md) for a more in-depth discussion of this feature.
+See [How Fastdp Works](/site/concepts/fastdp-how-it-works.md) for a more in-depth discussion of this feature.
### Disabling Fast Datapath
@@ -26,7 +26,7 @@ Each encrypted dataplane packet is encapsulated into [ESP](https://tools.ietf.or
thus in some networks a firewall rule for allowing ESP traffic needs to be installed. E.g. Google
Cloud Platform denies ESP packets by default.
-See [How Weave Implements Encryption](/site/how-it-works/encryption-implementation.md)
+See [How Weave Implements Encryption](/site/concepts/encryption-implementation.md)
for more details for the fastdp encryption.
### Viewing Connection Mode Fastdp or Sleeve
@@ -72,5 +72,5 @@ frame" configuration:
**See Also**
* [Using Weave Net](/site/using-weave.md)
- * [How Fastdp Works](/site/how-it-works/fastdp-how-it-works.md)
+ * [How Fastdp Works](/site/concepts/fastdp-how-it-works.md)
* [Performance measurements](/blog/weave-docker-networking-performance-fast-data-path/)
diff --git a/site/tasks/manage/host-network-integration.md b/site/tasks/manage/host-network-integration.md
index b957bdef..81788dcb 100644
--- a/site/tasks/manage/host-network-integration.md
+++ b/site/tasks/manage/host-network-integration.md
@@ -60,5 +60,5 @@ hosts.
**See Also**
* [Using Weave Net](/site/using-weave.md)
- * [General information on IP Addresses, Routes and Networks](/site/how-it-works/ip-addresses.md)
+ * [General information on IP Addresses, Routes and Networks](/site/concepts/ip-addresses.md)
* [Managing Services - Exporting, Importing, Binding and Routing](/site/using-weave/service-management.md)
diff --git a/site/tasks/manage/security-untrusted-networks.md b/site/tasks/manage/security-untrusted-networks.md
index 848a6ccb..f05ecae2 100644
--- a/site/tasks/manage/security-untrusted-networks.md
+++ b/site/tasks/manage/security-untrusted-networks.md
@@ -53,5 +53,5 @@ Be aware that:
**See Also**
- * [Weave Encryption](/site/how-it-works/encryption.md)
+ * [Weave Encryption](/site/concepts/encryption.md)
* [Using Fast Datapath](/site/using-weave/fastdp.md)
diff --git a/site/troubleshooting.md b/site/troubleshooting.md
index 1bbdb2fc..9e31a2a0 100644
--- a/site/troubleshooting.md
+++ b/site/troubleshooting.md
@@ -95,7 +95,7 @@ can be overridden by using the `--nickname` argument at `weave
launch`.
* **Encryption** - indicates whether
-[encryption](/site/how-it-works/encryption.md) is in use for communication
+[encryption](/site/concepts/encryption.md) is in use for communication
between peers.
* **PeerDiscovery** - indicates whether