The main idea ...
Roughly speaking, Procrustes analysis is a statistical method which compares a collection of (multidimensional) shapes by attempting to transform them into a state of maximal superimposition. It does so by attempting to minimise the sum of squared distances between corresponding points in each shape through translation, reflection, rigid rotation, and dilation (scaling) of their coordinate matrices (Figure 1). When comparing ordinations from NMDS, CCA, PCA, or any other ordination technique, a 'shape' may be defined by the treating each ordinated point as a vertex. Each point (usually an object) must have a counterpart in each ordination compared, i.e. each data matrix must have the same rows.
Procrustes analysis requires at least two "objectbyvariable" data tables. Variables are either ordination axes (usually those that explain most of the variation in a data set) or original variables. Procrustes analysis may also be applied to (dis)similarity matrices describing the same objects; however, these matrices must first be backconverted into an "objectbyvariable" table by principal coordinates analysis (PCoA), nonmetric multidimensional scaling (NMDS), or another suitable ordination method.
In contrast to the Mantel test, Procrustes analysis allows one to determine how much variance in one matrix is attributable to the variance in the other. Further, visual inspection of a Procrustes plot, in which the residuals between points from each matrix are mapped, can allow the identification of individual objects that have (relatively) unusual concordance (Jackson, 1995).
Null hypothesis  The degree of concordance between two (or more) matrices is no greater than expected given random intermatrix associations.

Procrustes superimposition 
Figure 1: Procrustes superimposition of two shapes (a) begins by translating them to superimpose their centrioids (b) before scaling (dialating) (c) and rotating them (d) to maximise their coincidence. Identical shapes would be perfectly superimposed. The degree to which the superimposition was successful is determined by the Procrustes statistic, m^{2}. 
Statistics
m^{2} 
This is a goodnessoffit statistic that results from the comparison of two matrices by orthogonal Procrustes analysis. 
Significance
Significance of the m^{2} statistic is often tested by permutation (see Jackson, 1995), whereby the row assignments in one matrix are randomly permuted a large number of times to create the null distribution.
 Beware of unknowingly applying asymmetric Procrustes analysis. If the implementation of Procrustes analysis you're using calculates asymmetric m^{2} statistics, fitting matrix A to matrix B will not result in the same value as fitting matrix B to matrix A.
 Using Procrustes analysis to test the concordance of a raw data set against the results of any analyses applied to that data set is an invalid test and an example of data dredging.
 Noise in raw abundance variables may prevent effective analysis. Procrustes analysis may perform better using the scores of variables on axes from a suitable ordination analysis rather than the original variables (Jackson, 1995). This approach must be used with caution and the dimensionreduction procedure used (e.g. principal components analysis, principal coordinates analysis, nonmetric dimensional scaling) must be chosen to reflect the questions posed and the data itself.
Implementations References
